<?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: Timer interrupt issues LPC12xx</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543649#M8348</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Fri Nov 16 11:33:58 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: fjrg76&lt;/STRONG&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;PR=45;&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; // 45 MHz / 45 = 1us base time
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;Am I missing something? Any ideas? Thank you!!&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A simple Search is showing a working LPC1114 sample with correct prescale setting &lt;SPAN class="lia-unicode-emoji" title=":winking_face:"&gt;&lt;LI-EMOJI id="lia_winking-face" title=":winking_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See #4 of &lt;/SPAN&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://knowledgebase.nxp.com/showthread.php?t=2815&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:18:18 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:18:18Z</dc:date>
    <item>
      <title>Timer interrupt issues LPC12xx</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543647#M8346</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 Nov 16 10:24:31 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I configured the CT16B0 timer in order to trigger an interrupt every (1/8KHz); although the timer is up and running, it doesn's trigger the interrupt. What comes to my mind is to enable a sort of global interrupt for such a timer, but I haven't found it yet (it it exists, of course).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the LPC2129 it is rutinary to configure a tick system using one of the four timers (in fact, I wrote a little tutorial in how doing so); however, in th LPC1xxx, although timers blocks are identical to those found in the LPC2129, I haven't been able to make it work (to generate the interrupt) 'cause the interrupts controllers in both cores are totally different.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This (1/8KHz) interrupt is going to be part of a bigger project, but I created a new fresh one so I can isolate the trouble:&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 BIT(x)(1&amp;lt;&amp;lt;(x))

void TIMER16_0_IRQHandler(void)
{

LPC_GPIO0-&amp;gt;NOT|=BIT(12);

LPC_CT16B0-&amp;gt;IR=BIT(3);;
}

void timer16_Init(void)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= 1&amp;lt;&amp;lt;7; // turn on TIM16B0 clock

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;TCR=2;&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; // stop and reset

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;PR=45;&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; // 45 MHz / 45 = 1us base time

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;CTCR=0;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;MCR=(3&amp;lt;&amp;lt;9);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // reset and interrupt on MR3

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;MR3=125;&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; // interrupt every 125us

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;EMR=(3&amp;lt;&amp;lt;10);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // toggle bit (although not necessary)

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;TC=0;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;IR|=BIT(3);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clear any pending interrupt

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;TCR=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; // start timer
}

int main(void)
{

volatile static int i = 0 ;

LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= 0xE001001FUL;

LPC_GPIO0-&amp;gt;DIR|=BIT(12);
LPC_GPIO0-&amp;gt;CLR|=BIT(12);

timer16_Init();

while(1) {
i++ ;
}
return 0 ;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's worth to mention that after this line:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;TCR=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; // start timer&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the LPC_CT16B0-&amp;gt;IR flag for MR3 is set, and doesn't matter what I do, I can't reset it:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;IR|=BIT(3);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clear any pending interrupt&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my code this last line of code was place before (as it's right now) and after starting the timer, but none was able to reset such an interrupt flag.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Am I missing something? Any ideas? Thank you!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW: I'm using LPCXpresso 5.0&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:18:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543647#M8346</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:18:17Z</dc:date>
    </item>
    <item>
      <title>Re: Timer interrupt issues LPC12xx</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543648#M8347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ArneB on Fri Nov 16 11:11:46 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi fjrg76,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;you have to enable the interrupt at the end of your timer init procedure:&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;NVIC_EnableIRQ(TIMER_16_0_IRQn);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;This function is defined in the "core_cm0.h" CMSIS file. Hope this helps... &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:18:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543648#M8347</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:18:18Z</dc:date>
    </item>
    <item>
      <title>Re: Timer interrupt issues LPC12xx</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543649#M8348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Fri Nov 16 11:33:58 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: fjrg76&lt;/STRONG&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_CT16B0-&amp;gt;PR=45;&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; // 45 MHz / 45 = 1us base time
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;Am I missing something? Any ideas? Thank you!!&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A simple Search is showing a working LPC1114 sample with correct prescale setting &lt;SPAN class="lia-unicode-emoji" title=":winking_face:"&gt;&lt;LI-EMOJI id="lia_winking-face" title=":winking_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See #4 of &lt;/SPAN&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://knowledgebase.nxp.com/showthread.php?t=2815&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:18:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543649#M8348</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:18:18Z</dc:date>
    </item>
    <item>
      <title>Re: Timer interrupt issues LPC12xx</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543650#M8349</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 Nov 16 13:49:32 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: ArneB&lt;/STRONG&gt;&lt;BR /&gt;Hi fjrg76,&lt;BR /&gt;&lt;BR /&gt;you have to enable the interrupt at the end of your timer init procedure:&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;NVIC_EnableIRQ(TIMER_16_0_IRQn);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;This function is defined in the "core_cm0.h" CMSIS file. Hope this helps... &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you, that works!! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I completely forgot to add this line of code. Hope I won't again. This is the modified code:&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;void timer16_Init(void)
{
LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= 1&amp;lt;&amp;lt;7;
LPC_CT16B0-&amp;gt;TCR=2;
[COLOR=Red]LPC_CT16B0-&amp;gt;PR=44;[/COLOR]
LPC_CT16B0-&amp;gt;CTCR=0;
LPC_CT16B0-&amp;gt;MCR=(3&amp;lt;&amp;lt;9);
[COLOR=red]LPC_CT16B0-&amp;gt;MR3=124;[/COLOR] // &amp;lt;-- 7.9998 KHz according my scope
LPC_CT16B0-&amp;gt;EMR=(3&amp;lt;&amp;lt;10);
LPC_CT16B0-&amp;gt;TC=0;
LPC_CT16B0-&amp;gt;IR|=BIT(3);
[COLOR=red]NVIC_EnableIRQ(TIMER_16_0_IRQn);[/COLOR]

LPC_CT16B0-&amp;gt;TCR=1;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:18:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543650#M8349</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: Timer interrupt issues LPC12xx</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543651#M8350</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 Nov 16 13:53:36 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Zero&lt;/STRONG&gt;&lt;BR /&gt;A simple Search is showing a working LPC1114 sample with correct prescale setting ;)&lt;BR /&gt;&lt;BR /&gt;See #4 of &lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=2815&lt;/A&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I saw that thread before my posting, however, my brain was focused in the interrupt's stuff, that's way I overlooked the values for the PR and MR3, but now they've been fixed ;)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:18:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Timer-interrupt-issues-LPC12xx/m-p/543651#M8350</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:18:20Z</dc:date>
    </item>
  </channel>
</rss>

