<?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>topic LPC2106 timer0 match interrupt without reset counter not work in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2106-timer0-match-interrupt-without-reset-counter-not-work/m-p/550019#M13933</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hydromet on Tue Nov 18 22:49:30 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I need periodic interrupts with T0TC from 0 to 0xffffffffL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PINSEL0_bit.P0_4=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; // select Pin P0.4 as CAP0.1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0TCR = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0CTCR = 0; // Set timer counters mode - clock by PCLK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0PR&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set timer prescaler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0MR0 = 3600;// Set timer period&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0MCR = 1;&amp;nbsp; // Set match action - interrupt by MR0 enable without reset counter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0CCR = 0x38;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set timer counters mode - clock by CAP0.1 (8 - rising edge, 0x10 - falling edge, 0x20 - interrupt)&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; // 0x38 = (5 &amp;lt;&amp;lt; 3) - rising&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0EMR = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICIntSelect &amp;amp;= ~(1&amp;lt;&amp;lt;VIC_TIMER0);&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICVectAddr0 = (_U32) Tmr0IntOnMR0_isr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICVectCntl0 = 0x20 | VIC_TIMER0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICIntEnable |= (1&amp;lt;&amp;lt;VIC_TIMER0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0TCR = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....................................................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__irq __arm void Tmr0IntOnMR0_isr(void){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if(T0IR_bit.MR0INT){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// clear interrupt flag&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0IR_bit.MR0INT = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0MR0 += 3600;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.......................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if(T0IR_bit.CR1INT){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0IR_bit.CR1INT = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; PINSEL0_bit.P0_4=0;&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; // select Pin P0.4 as GPIO&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IODIR_bit.P0_4 = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(IOPIN_bit.P0_4){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;........................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;........................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; PINSEL0_bit.P0_4=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; // select Pin P0.4 as CAP0.1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICVectAddr = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:50:48 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:50:48Z</dc:date>
    <item>
      <title>LPC2106 timer0 match interrupt without reset counter not work</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2106-timer0-match-interrupt-without-reset-counter-not-work/m-p/550019#M13933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hydromet on Tue Nov 18 22:49:30 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I need periodic interrupts with T0TC from 0 to 0xffffffffL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PINSEL0_bit.P0_4=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; // select Pin P0.4 as CAP0.1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0TCR = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0CTCR = 0; // Set timer counters mode - clock by PCLK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0PR&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set timer prescaler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0MR0 = 3600;// Set timer period&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0MCR = 1;&amp;nbsp; // Set match action - interrupt by MR0 enable without reset counter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0CCR = 0x38;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set timer counters mode - clock by CAP0.1 (8 - rising edge, 0x10 - falling edge, 0x20 - interrupt)&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; // 0x38 = (5 &amp;lt;&amp;lt; 3) - rising&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0EMR = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICIntSelect &amp;amp;= ~(1&amp;lt;&amp;lt;VIC_TIMER0);&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICVectAddr0 = (_U32) Tmr0IntOnMR0_isr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICVectCntl0 = 0x20 | VIC_TIMER0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICIntEnable |= (1&amp;lt;&amp;lt;VIC_TIMER0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; T0TCR = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....................................................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__irq __arm void Tmr0IntOnMR0_isr(void){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if(T0IR_bit.MR0INT){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// clear interrupt flag&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0IR_bit.MR0INT = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; T0MR0 += 3600;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.......................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if(T0IR_bit.CR1INT){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T0IR_bit.CR1INT = 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; PINSEL0_bit.P0_4=0;&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; // select Pin P0.4 as GPIO&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IODIR_bit.P0_4 = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(IOPIN_bit.P0_4){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;........................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;........................................&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; PINSEL0_bit.P0_4=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; // select Pin P0.4 as CAP0.1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VICVectAddr = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2106-timer0-match-interrupt-without-reset-counter-not-work/m-p/550019#M13933</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:48Z</dc:date>
    </item>
  </channel>
</rss>

