<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPCXpresso IDE中的主题 Help Regarding Timer Configuration</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Help-Regarding-Timer-Configuration/m-p/537994#M5795</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ranaya on Tue Jul 24 07:32:15 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Every1.......&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; This is my timer settings for lpc1769. I have few doubts about settings and delay function.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#define CLOCK_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
#define SCS_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000020
#define CLKSRCSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001
#define PLL0_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
#define PLL0CFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000B
#define PLL1_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
#define PLL1CFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000023
#define CCLKCFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000003
#define USBCLKCFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
#define PCLKSEL0_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
#define PCLKSEL1_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
#define PCONP_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x072887DE
#define CLKOUTCFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;delay code :&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
void delayMs(uint8_t timer_num, uint32_t delayInMs)
{
&amp;nbsp; if ( timer_num == 0 )
&amp;nbsp; {
LPC_TIM0-&amp;gt;TCR = 0x02;/* reset timer */
LPC_TIM0-&amp;gt;PR&amp;nbsp; = 0x00;/* set prescaler to zero */
LPC_TIM0-&amp;gt;MR0 = delayInMs * (9000000 / 1000-1);
LPC_TIM0-&amp;gt;IR&amp;nbsp; = 0xff;/* reset all interrrupts */
LPC_TIM0-&amp;gt;MCR = 0x04;/* stop timer on match */
LPC_TIM0-&amp;gt;TCR = 0x01;/* start timer */
&amp;nbsp; 
/* wait until delay time has elapsed */
while (LPC_TIM0-&amp;gt;TCR &amp;amp; 0x01);
&amp;nbsp; }
&amp;nbsp; else if ( timer_num == 1 )
&amp;nbsp; {
LPC_TIM1-&amp;gt;TCR = 0x02;/* reset timer */
LPC_TIM1-&amp;gt;PR&amp;nbsp; = 0x00;/* set prescaler to zero */
LPC_TIM1-&amp;gt;MR0 = delayInMs * (9000000 / 1000-1);
LPC_TIM1-&amp;gt;IR&amp;nbsp; = 0xff;/* reset all interrrupts */
LPC_TIM1-&amp;gt;MCR = 0x04;/* stop timer on match */
LPC_TIM1-&amp;gt;TCR = 0x01;/* start timer */
&amp;nbsp; 
/* wait until delay time has elapsed */
while (LPC_TIM1-&amp;gt;TCR &amp;amp; 0x01);
&amp;nbsp; }
&amp;nbsp; return;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found this from a CMSIS examples. As i understand from the user manual + old threads my system frequency is set to 72 MHz. At reset, timer0/1 will be activated, and By default their PCLK is set to SystemFreq/4. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So my timer will count at 18 MHz since the prescalar PR is set to 0. In that case to generate a mS delay, I need&amp;nbsp; 18000 counts. So Match Register should be, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
LPC_TIM0-&amp;gt;MR0 = delayInMs * (18000000 / 1000-1);
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;instead of (9000000 / 1000-1). am I right ? or is this code correct ??? appreciate ur quick responses &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanx&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:44:05 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:44:05Z</dc:date>
    <item>
      <title>Help Regarding Timer Configuration</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Help-Regarding-Timer-Configuration/m-p/537994#M5795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ranaya on Tue Jul 24 07:32:15 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Every1.......&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; This is my timer settings for lpc1769. I have few doubts about settings and delay function.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#define CLOCK_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
#define SCS_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000020
#define CLKSRCSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001
#define PLL0_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
#define PLL0CFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000B
#define PLL1_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
#define PLL1CFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000023
#define CCLKCFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000003
#define USBCLKCFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
#define PCLKSEL0_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
#define PCLKSEL1_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
#define PCONP_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x072887DE
#define CLKOUTCFG_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;delay code :&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
void delayMs(uint8_t timer_num, uint32_t delayInMs)
{
&amp;nbsp; if ( timer_num == 0 )
&amp;nbsp; {
LPC_TIM0-&amp;gt;TCR = 0x02;/* reset timer */
LPC_TIM0-&amp;gt;PR&amp;nbsp; = 0x00;/* set prescaler to zero */
LPC_TIM0-&amp;gt;MR0 = delayInMs * (9000000 / 1000-1);
LPC_TIM0-&amp;gt;IR&amp;nbsp; = 0xff;/* reset all interrrupts */
LPC_TIM0-&amp;gt;MCR = 0x04;/* stop timer on match */
LPC_TIM0-&amp;gt;TCR = 0x01;/* start timer */
&amp;nbsp; 
/* wait until delay time has elapsed */
while (LPC_TIM0-&amp;gt;TCR &amp;amp; 0x01);
&amp;nbsp; }
&amp;nbsp; else if ( timer_num == 1 )
&amp;nbsp; {
LPC_TIM1-&amp;gt;TCR = 0x02;/* reset timer */
LPC_TIM1-&amp;gt;PR&amp;nbsp; = 0x00;/* set prescaler to zero */
LPC_TIM1-&amp;gt;MR0 = delayInMs * (9000000 / 1000-1);
LPC_TIM1-&amp;gt;IR&amp;nbsp; = 0xff;/* reset all interrrupts */
LPC_TIM1-&amp;gt;MCR = 0x04;/* stop timer on match */
LPC_TIM1-&amp;gt;TCR = 0x01;/* start timer */
&amp;nbsp; 
/* wait until delay time has elapsed */
while (LPC_TIM1-&amp;gt;TCR &amp;amp; 0x01);
&amp;nbsp; }
&amp;nbsp; return;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found this from a CMSIS examples. As i understand from the user manual + old threads my system frequency is set to 72 MHz. At reset, timer0/1 will be activated, and By default their PCLK is set to SystemFreq/4. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So my timer will count at 18 MHz since the prescalar PR is set to 0. In that case to generate a mS delay, I need&amp;nbsp; 18000 counts. So Match Register should be, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
LPC_TIM0-&amp;gt;MR0 = delayInMs * (18000000 / 1000-1);
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;instead of (9000000 / 1000-1). am I right ? or is this code correct ??? appreciate ur quick responses &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanx&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:44:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Help-Regarding-Timer-Configuration/m-p/537994#M5795</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:44:05Z</dc:date>
    </item>
    <item>
      <title>Re: Help Regarding Timer Configuration</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Help-Regarding-Timer-Configuration/m-p/537995#M5796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ex-kayoda on Tue Jul 24 07:43:51 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: ranaya&lt;/STRONG&gt;&lt;BR /&gt;. am I right ? or is this code correct ??? appreciate ur quick responses &lt;BR /&gt;&lt;BR /&gt;Thanx&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Quick reply: Yes you are right for a 18MHz timer&amp;nbsp; and yes, this code is correct for 9MHz timer ;)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:44:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Help-Regarding-Timer-Configuration/m-p/537995#M5796</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:44:06Z</dc:date>
    </item>
  </channel>
</rss>

