<?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: LPC 1114  Interrupt and PWM on the same timer?</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576277#M22679</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 Wed May 26 02:13:22 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi NsN,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;First thing that I noticed is that you use a double OR --&amp;gt; || in stead of a single OR --&amp;gt; |. A double OR will put the logical [B]test[/B] outcome in the register, so only a 1 or a 0.&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;
/* Enable the selected PWMs and enable Match3 */
LPC_TMR16B0-&amp;gt;PWMC = 0x08 | 0x02 | 0x01; 

instead of 
/* Enable the selected PWMs and enable Match3 */
LPC_TMR16B0-&amp;gt;PWMC = 0x08 || 0x02 || 0x01;

and

/* Set the match control register */
LPC_TMR16B0-&amp;gt;MCR = (1&amp;lt;&amp;lt;10) | (1 &amp;lt;&amp;lt; 6);

instead of
/* Set the match control register */
LPC_TMR16B0-&amp;gt;MCR = (1&amp;lt;&amp;lt;10) || (1 &amp;lt;&amp;lt; 6);

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;This will probably solve your problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kind regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:34:57 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:34:57Z</dc:date>
    <item>
      <title>LPC 1114  Interrupt and PWM on the same timer?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576276#M22678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NsN on Mon May 24 17:12:14 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi, i was wondering if it is possible to use Match2 on Timer16_0 to generate an interrupt, while Match_0 and Match_1 are used for PWM outputs?&amp;nbsp; Alternatively I could also adjust the PWM frequency, if it would be possible to generate an Interupt on Match3 before it resets the TC.&amp;nbsp; I tried it, but sofar everything has resulted in Match_0 and Match_1 being always high.&amp;nbsp; My initialization is: &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;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;TCR = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //prescale to so the TC increments every 0.05ms
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;PR = 200;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= (1&amp;lt;&amp;lt;7);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Setup the external match register */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;EMR = (1&amp;lt;&amp;lt;10)|(0&amp;lt;&amp;lt;8)|(1&amp;lt;&amp;lt;6)|(1&amp;lt;&amp;lt;4)|(1&amp;lt;&amp;lt;3)|(0x05);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;= ~0x07;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x02;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Timer0_16 MAT0&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; LPC_IOCON-&amp;gt;PIO0_9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;= ~0x07;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x02;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Timer0_16 MAT1&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; /* Enable the selected PWMs and enable Match3 */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;PWMC = 0x08 || 0x02 || 0x01;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Setup the match registers */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;MR3 = 1024;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;MR0 = 512;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;MR1 = 512;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;MR2 = 1000;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set the match control register */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;MCR = (1&amp;lt;&amp;lt;10) || (1 &amp;lt;&amp;lt; 6);&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; /* Reset on MR3, Interrupt on MR2 */

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the TIMER1 Interrupt */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(TIMER_16_0_IRQn);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TMR16B0-&amp;gt;TCR = 1;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Using breakpoints, i can see, that the Interrupt gets triggered, but the pwm won't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I use&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;
LPC_TMR16B0-&amp;gt;MCR = (1&amp;lt;&amp;lt;10);
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;instead the pwm works, but of course i don't have an interrupt anymore...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:34:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576276#M22678</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:34:56Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1114  Interrupt and PWM on the same timer?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576277#M22679</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 Wed May 26 02:13:22 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi NsN,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;First thing that I noticed is that you use a double OR --&amp;gt; || in stead of a single OR --&amp;gt; |. A double OR will put the logical [B]test[/B] outcome in the register, so only a 1 or a 0.&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;
/* Enable the selected PWMs and enable Match3 */
LPC_TMR16B0-&amp;gt;PWMC = 0x08 | 0x02 | 0x01; 

instead of 
/* Enable the selected PWMs and enable Match3 */
LPC_TMR16B0-&amp;gt;PWMC = 0x08 || 0x02 || 0x01;

and

/* Set the match control register */
LPC_TMR16B0-&amp;gt;MCR = (1&amp;lt;&amp;lt;10) | (1 &amp;lt;&amp;lt; 6);

instead of
/* Set the match control register */
LPC_TMR16B0-&amp;gt;MCR = (1&amp;lt;&amp;lt;10) || (1 &amp;lt;&amp;lt; 6);

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;This will probably solve your problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kind regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:34:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576277#M22679</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1114  Interrupt and PWM on the same timer?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576278#M22680</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 Mon May 31 03:12:00 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi NsN,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Did it solve your problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kind regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:34:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1114-Interrupt-and-PWM-on-the-same-timer/m-p/576278#M22680</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:34:58Z</dc:date>
    </item>
  </channel>
</rss>

