<?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 LPC11c24: No PWM signal on PIO0_11(MAT3) in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11c24-No-PWM-signal-on-PIO0-11-MAT3/m-p/574802#M19107</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 Sat Jun 14 13:47:22 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi there &lt;SPAN class="lia-unicode-emoji" title=":grinning_squinting_face:"&gt;&lt;LI-EMOJI id="lia_grinning-squinting-face" title=":grinning_squinting_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have such code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I use MR2 for timer reset and MAT3 as PWM output, then get pwm signal just for pin MAT0,1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I check PWMC register and all bits for MAT0,1,3 are set to PWM_MODE_IS_ENABLED.&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;
int pr = SystemCoreClock / (4 * 1000000) - 1;
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_6, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT0
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_7, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT1
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_11, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT3
// Initialize timers.
Chip_TIMER_Init(LPC_TIMER32_0);

// Configure Prescale
Chip_TIMER_PrescaleSet(LPC_TIMER32_0, pr);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PR&amp;nbsp; = 11
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER32_0, 2); //MCR = Reset on MR2
Chip_TIMER_SetMatch(LPC_TIMER32_0, 2, 255);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR2 = Period 255uS

Chip_TIMER_SetMatch(LPC_TIMER32_0, 0, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR0 = Duty cycles&amp;nbsp; set on 0
Chip_TIMER_SetMatch(LPC_TIMER32_0, 1, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR1 = Duty cycles&amp;nbsp; set on 1
Chip_TIMER_SetMatch(LPC_TIMER32_0, 3, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR3 = Duty cycles&amp;nbsp; set on 3

Chip_TIMER_CountWrite(LPC_TIMER32_0, (1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;3));&amp;nbsp;&amp;nbsp;&amp;nbsp; //PWMC - enable PWM signal on MAT0, MAT1, MAT3
Chip_TIMER_Enable(LPC_TIMER32_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;I also try use below code where I use MR3 for timer reset and MAT2 as output and then have all PWM signals.&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;
int pr = SystemCoreClock / (4 * 1000000) - 1;
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_6, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT0
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_7, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT1
//Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_11, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT3
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_1, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT2
// Initialize timers.
Chip_TIMER_Init(LPC_TIMER32_0);

// Configure Prescale
Chip_TIMER_PrescaleSet(LPC_TIMER32_0, pr);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PR&amp;nbsp; = 11
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER32_0, 3); //MCR = Reset on MR3
Chip_TIMER_SetMatch(LPC_TIMER32_0, 3, 255);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR3 = Period 255uS

Chip_TIMER_SetMatch(LPC_TIMER32_0, 0, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR0 = Duty cycles&amp;nbsp; set on 1
Chip_TIMER_SetMatch(LPC_TIMER32_0, 1, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR1 = Duty cycles&amp;nbsp; set on 1
Chip_TIMER_SetMatch(LPC_TIMER32_0, 2, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR3 = Duty cycles&amp;nbsp; set on 1

Chip_TIMER_CountWrite(LPC_TIMER32_0, (1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;2));&amp;nbsp;&amp;nbsp;&amp;nbsp; //PWMC - enable PWM signal on MAT0, MAT1, MAT2
Chip_TIMER_Enable(LPC_TIMER32_0);&amp;nbsp;&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;SPAN&gt;Could someone explain that?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 20:15:08 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T20:15:08Z</dc:date>
    <item>
      <title>LPC11c24: No PWM signal on PIO0_11(MAT3)</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11c24-No-PWM-signal-on-PIO0-11-MAT3/m-p/574802#M19107</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 Sat Jun 14 13:47:22 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi there &lt;SPAN class="lia-unicode-emoji" title=":grinning_squinting_face:"&gt;&lt;LI-EMOJI id="lia_grinning-squinting-face" title=":grinning_squinting_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have such code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I use MR2 for timer reset and MAT3 as PWM output, then get pwm signal just for pin MAT0,1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I check PWMC register and all bits for MAT0,1,3 are set to PWM_MODE_IS_ENABLED.&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;
int pr = SystemCoreClock / (4 * 1000000) - 1;
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_6, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT0
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_7, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT1
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_11, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT3
// Initialize timers.
Chip_TIMER_Init(LPC_TIMER32_0);

// Configure Prescale
Chip_TIMER_PrescaleSet(LPC_TIMER32_0, pr);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PR&amp;nbsp; = 11
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER32_0, 2); //MCR = Reset on MR2
Chip_TIMER_SetMatch(LPC_TIMER32_0, 2, 255);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR2 = Period 255uS

Chip_TIMER_SetMatch(LPC_TIMER32_0, 0, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR0 = Duty cycles&amp;nbsp; set on 0
Chip_TIMER_SetMatch(LPC_TIMER32_0, 1, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR1 = Duty cycles&amp;nbsp; set on 1
Chip_TIMER_SetMatch(LPC_TIMER32_0, 3, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR3 = Duty cycles&amp;nbsp; set on 3

Chip_TIMER_CountWrite(LPC_TIMER32_0, (1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;3));&amp;nbsp;&amp;nbsp;&amp;nbsp; //PWMC - enable PWM signal on MAT0, MAT1, MAT3
Chip_TIMER_Enable(LPC_TIMER32_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;I also try use below code where I use MR3 for timer reset and MAT2 as output and then have all PWM signals.&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;
int pr = SystemCoreClock / (4 * 1000000) - 1;
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_6, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT0
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_7, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT1
//Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_11, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); //MAT3
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_1, (IOCON_FUNC2 | IOCON_MODE_PULLUP));&amp;nbsp; //MAT2
// Initialize timers.
Chip_TIMER_Init(LPC_TIMER32_0);

// Configure Prescale
Chip_TIMER_PrescaleSet(LPC_TIMER32_0, pr);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PR&amp;nbsp; = 11
Chip_TIMER_ResetOnMatchEnable(LPC_TIMER32_0, 3); //MCR = Reset on MR3
Chip_TIMER_SetMatch(LPC_TIMER32_0, 3, 255);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR3 = Period 255uS

Chip_TIMER_SetMatch(LPC_TIMER32_0, 0, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR0 = Duty cycles&amp;nbsp; set on 1
Chip_TIMER_SetMatch(LPC_TIMER32_0, 1, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR1 = Duty cycles&amp;nbsp; set on 1
Chip_TIMER_SetMatch(LPC_TIMER32_0, 2, 1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR3 = Duty cycles&amp;nbsp; set on 1

Chip_TIMER_CountWrite(LPC_TIMER32_0, (1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;2));&amp;nbsp;&amp;nbsp;&amp;nbsp; //PWMC - enable PWM signal on MAT0, MAT1, MAT2
Chip_TIMER_Enable(LPC_TIMER32_0);&amp;nbsp;&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;SPAN&gt;Could someone explain that?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:15:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11c24-No-PWM-signal-on-PIO0-11-MAT3/m-p/574802#M19107</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:15:08Z</dc:date>
    </item>
  </channel>
</rss>

