<?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>LPC MicrocontrollersのトピックRe: Strange Behavior of Timer in LPC2468</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548848#M13723</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Mon Jul 21 13:55:56 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The timer doe not stop while you are debugging, so what you are seeing is just the latest value of the timer.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:50:34 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:50:34Z</dc:date>
    <item>
      <title>Strange Behavior of Timer in LPC2468</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548847#M13722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Italia on Mon Jul 21 11:53:08 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i'm using LPCXpresso and LPC-link programmer with LPC2468 CPU. I wrote the following code, and i have a strange behavior of timer. When i debug step by step the timer takes random values ​​to each advancement of step. That means that i pass from 0x002 to 0x6788 and later to 0x10 and so on.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can someone say me an example of the ISR hangling in LPCXpresso using Timer0??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I post the code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void delayMS(unsigned int milliseconds);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void initClocks(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void initTimer0(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void T0_Interrupt(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void setupPLL0(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void feedSeq(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void connectPLL0(void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned int i=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; initClocks(); //Initialize CPU and Peripheral Clocks @ 60Mhz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; initTimer0(); //Initialize Timer0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IO0DIR = 0xFFFFFFFF; //Configure all pins on Port 0 as Output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IO0PIN = 0xF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0TCR = 0x01; //Enable timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++; //Only to test timer instrucion by instruction&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1); //Infinite Idle Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void initTimer0(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0CTCR = 0x0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0PR = 0; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0MR0 = DELAY_MS-1; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0MCR = MR0I | MR0R; //Set bit0 &amp;amp; bit1 to High which is to : Interrupt &amp;amp; Reset TC on MR0&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //----------Setup Timer0 Interrupt-------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VICVectAddr4 = (void*)T0_Interrupt; //Pointer Interrupt Function (ISR)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VICIntEnable = 0x10; //Enable timer0 int&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0TCR = 0x02; //Reset Timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__attribute__ ((interrupt ("irq")))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void T0_Interrupt(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; long int regVal;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; regVal = T0IR; //Read current IR value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0IR = regVal; //Write back to IR to clear Interrupt Flag&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548847#M13722</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: Strange Behavior of Timer in LPC2468</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548848#M13723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Mon Jul 21 13:55:56 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The timer doe not stop while you are debugging, so what you are seeing is just the latest value of the timer.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548848#M13723</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: Strange Behavior of Timer in LPC2468</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548849#M13724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Italia on Tue Jul 22 00:56:35 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok Tahnk u for u reply! Just a last question. When i reset the timer Flag by the instruction:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0IR = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The IR bit is not reset.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Strange-Behavior-of-Timer-in-LPC2468/m-p/548849#M13724</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:34Z</dc:date>
    </item>
  </channel>
</rss>

