<?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のトピックRe: Conflict between SysTick and Timer32 in LPC1114</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556492#M14161</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 Thu Sep 06 01:19:23 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Or you just set SysTick to 1ms and add a counter to increment 10ms there too :rolleyes:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:17:44 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:17:44Z</dc:date>
    <item>
      <title>Conflict between SysTick and Timer32 in LPC1114</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556490#M14159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by fjrg76 on Wed Sep 05 17:08:24 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick is for the the general system ticks, while Timer32 is for getting better resolution. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If only the SysTick module is enabled, then it works (10ms between ticks); however, if Timer32 module is enabled too, then SysTick stops generating interrupts, while Timer32 does. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm wondering about some kind of conflict, but I cannot seen any. Here is a snippet:&lt;/SPAN&gt;&lt;BR /&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;void SysTick_Handler(void)
{
++msTicks;
}
...

void timer32b_Init(uint32_t interval)
{
LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= BIT(9);
LPC_TMR32B0-&amp;gt;TCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = BIT(0)|BIT(1);
LPC_TMR32B0-&amp;gt;MR2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = interval;
LPC_TMR32B0-&amp;gt;MCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = BIT(6)|BIT(7);
NVIC_EnableIRQ(TIMER_32_0_IRQn);
LPC_TMR32B0-&amp;gt;TCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = BIT(0);
}

void TIMER32_0_IRQHandler(void)
{
&amp;nbsp; LPC_TMR32B0-&amp;gt;IR = 1;/* clear interrupt flag */
&amp;nbsp; ++usTicks;
}
...
void system_Init(void)
{
GPIOInit();

UARTInit(115200);


if (SysTick_Config(SystemCoreClock / 100)) { /* Setup SysTick Timer for 1 msec interrupts&amp;nbsp; */
while (1);&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Capture error */
}

[COLOR=Red]timer32b_Init(48000); // 1ms[/COLOR]

chrono_Init(&amp;amp;cronometro,0);

}
...
int main(void)
{
 ...
system_Init();
...

for(;;){ ... }
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I comment the red code line out, then SysTick works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any clues?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:17:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556490#M14159</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: Conflict between SysTick and Timer32 in LPC1114</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556491#M14160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by fjrg76 on Wed Sep 05 22:05:56 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There is not such a conflict, instead I made I mistake. I based my code in an example, but it was using MR0, whilst I'm using MR3, so I didn't acknowledge the correct interrupt:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void TIMER32_0_IRQHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_TMR32B0-&amp;gt;IR = BIT(2); // &amp;lt;-- This is the correct value (former was 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ++usTicks;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you anyway!!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:17:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556491#M14160</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: Conflict between SysTick and Timer32 in LPC1114</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556492#M14161</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 Thu Sep 06 01:19:23 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Or you just set SysTick to 1ms and add a counter to increment 10ms there too :rolleyes:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:17:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556492#M14161</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: Conflict between SysTick and Timer32 in LPC1114</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556493#M14162</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by fjrg76 on Thu Sep 06 09:08:17 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Kayoda,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That works too, but the idea behind using the Timer32 is to get resolution in the 1us range (for a high resolution chronometer).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:17:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556493#M14162</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: Conflict between SysTick and Timer32 in LPC1114</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556494#M14163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Europe on Fri Sep 07 16:34:14 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi fjrg76,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The default value of SysTick is mostly 10mSec, but SysTick can be changed as well.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Config(SystemCoreClock / 100) =&amp;gt; 10 mSec&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Maybe we have to rewrite it: 1/100 = times 0.01 = * 0.01 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Config(SystemCoreClock * 0.01) =&amp;gt; 0.01 Sec = 10 mSec&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;then ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Config(SystemCoreClock * 0.001) =&amp;gt; 0.001 Sec = 1 mSec&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Config(SystemCoreClock / 1000) =&amp;gt; 1 mSec&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;etc ...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Maybe this fits in your program.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However when counting needs to be done on uSec level, no time is left to do something else.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:17:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556494#M14163</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: Conflict between SysTick and Timer32 in LPC1114</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556495#M14164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by fjrg76 on Fri Sep 07 16:46:04 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;That's correct, and that's way I need a high resolution timer. Systick is going to do what it does better, the system tick, whilst another timer is going to count as fast as possible.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:17:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Conflict-between-SysTick-and-Timer32-in-LPC1114/m-p/556495#M14164</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:17:46Z</dc:date>
    </item>
  </channel>
</rss>

