<?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中的主题 LPC11C24 PWM RGB control issue.</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC11C24-PWM-RGB-control-issue/m-p/593835#M30637</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hetii on Thu Jun 12 04:55:30 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello &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;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I try control RGB led by lpc11c24 (crystal 12MHz).&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;
static void timer16PWMInit()
{
//enable CT16B0_MAT1
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_8, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT0 = B
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_9, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT1 = R
//Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_11, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT3 = G //Will be another timer.

Chip_TIMER_Init(LPC_TIMER16_0); //enable timer 0
Chip_TIMER_PrescaleSet(LPC_TIMER16_0, 72-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; //PR - prescaler:72 = time base 1µs

Chip_TIMER_ResetOnMatchEnable(LPC_TIMER16_0, 2);&amp;nbsp;&amp;nbsp;&amp;nbsp; //MCR - MR2 reset
Chip_TIMER_SetMatch(LPC_TIMER16_0, 2, 10*1000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR - Period for MR2 = 1ms*10 = 100Hz

Chip_TIMER_SetMatch(LPC_TIMER16_0, 0, 500);&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; //MR - Duty cycles for blue led
Chip_TIMER_SetMatch(LPC_TIMER16_0, 1, 50);&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; //MR - Duty cycles for red led

Chip_TIMER_CountWrite(LPC_TIMER16_0,(1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;1));&amp;nbsp;&amp;nbsp;&amp;nbsp; //PWMC - enable PWM signal on MAT0 and MAT1

Chip_TIMER_Enable(LPC_TIMER16_0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //TCR&amp;nbsp; - and run...
}
&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 code above works like I expect, the blue led shine stronger then red.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But when i toggle the duty cycles like that:&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;
Chip_TIMER_SetMatch(LPC_TIMER16_0, 0, 50);&amp;nbsp;&amp;nbsp; //MR - Duty cycles B
Chip_TIMER_SetMatch(LPC_TIMER16_0, 1, 500);&amp;nbsp; //MR - Duty cycles R
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Only the red led shine:(&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also is it possible to use MAT2 also as a output for PWM signal and use some other register to reset my timmer (use all MATn from timer16_0 as output) ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 02:51:50 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T02:51:50Z</dc:date>
    <item>
      <title>LPC11C24 PWM RGB control issue.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC11C24-PWM-RGB-control-issue/m-p/593835#M30637</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hetii on Thu Jun 12 04:55:30 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello &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;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I try control RGB led by lpc11c24 (crystal 12MHz).&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;
static void timer16PWMInit()
{
//enable CT16B0_MAT1
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_8, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT0 = B
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_9, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT1 = R
//Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_11, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT3 = G //Will be another timer.

Chip_TIMER_Init(LPC_TIMER16_0); //enable timer 0
Chip_TIMER_PrescaleSet(LPC_TIMER16_0, 72-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; //PR - prescaler:72 = time base 1µs

Chip_TIMER_ResetOnMatchEnable(LPC_TIMER16_0, 2);&amp;nbsp;&amp;nbsp;&amp;nbsp; //MCR - MR2 reset
Chip_TIMER_SetMatch(LPC_TIMER16_0, 2, 10*1000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR - Period for MR2 = 1ms*10 = 100Hz

Chip_TIMER_SetMatch(LPC_TIMER16_0, 0, 500);&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; //MR - Duty cycles for blue led
Chip_TIMER_SetMatch(LPC_TIMER16_0, 1, 50);&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; //MR - Duty cycles for red led

Chip_TIMER_CountWrite(LPC_TIMER16_0,(1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;1));&amp;nbsp;&amp;nbsp;&amp;nbsp; //PWMC - enable PWM signal on MAT0 and MAT1

Chip_TIMER_Enable(LPC_TIMER16_0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //TCR&amp;nbsp; - and run...
}
&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 code above works like I expect, the blue led shine stronger then red.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But when i toggle the duty cycles like that:&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;
Chip_TIMER_SetMatch(LPC_TIMER16_0, 0, 50);&amp;nbsp;&amp;nbsp; //MR - Duty cycles B
Chip_TIMER_SetMatch(LPC_TIMER16_0, 1, 500);&amp;nbsp; //MR - Duty cycles R
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Only the red led shine:(&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also is it possible to use MAT2 also as a output for PWM signal and use some other register to reset my timmer (use all MATn from timer16_0 as output) ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:51:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC11C24-PWM-RGB-control-issue/m-p/593835#M30637</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:51:50Z</dc:date>
    </item>
  </channel>
</rss>

