<?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 Re: PWM can't be set to 0% duty cycle in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525004#M7640</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Fri Apr 17 04:50:15 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;This library isn't latching Match registers&amp;nbsp; J) &lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Until now, I ignored the latching register. I wonder why &lt;/SPAN&gt;&lt;STRONG&gt;it worked well&lt;/STRONG&gt;&lt;SPAN&gt; without setting LER bits for &lt;/SPAN&gt;&lt;STRONG&gt;all&lt;/STRONG&gt;&lt;SPAN&gt; duty cycle values (Match register 2 values), &lt;/SPAN&gt;&lt;STRONG&gt;but &lt;/STRONG&gt;&lt;SPAN&gt;the single value of 0&amp;nbsp; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very much, my friend.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:11:52 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:11:52Z</dc:date>
    <item>
      <title>PWM can't be set to 0% duty cycle</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/524999#M7635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Fri Apr 17 02:06:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm able to configure and use the PWM output with whatever duty cycle, except 0%, i.e. setting the output always low.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In datasheet (LPC1769) is written:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;24.4.1&amp;nbsp;&amp;nbsp; Rules for Single Edge Controlled PWM Outputs&lt;/STRONG&gt;&lt;BR /&gt;[list=1]&lt;BR /&gt;&amp;nbsp; [*]All single edge controlled PWM outputs go high at the beginning of a PWM cycle unless their match value is equal to 0.&lt;BR /&gt;&amp;nbsp; [*]Each PWM output will go low when its match value is reached. If no match occurs (i.e. the match value is greater than the PWM rate), the PWM output remains continuously high.&lt;BR /&gt;[/list]&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I set MR2 to 0 (it's the second channel of PWM1 on pin 3.25 of LPC1769), but the pin stays stable high. Why?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know I can configure the pin as GPIO when the duty cycle is 0%, but it's better to use PWM peripherals.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:11:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/524999#M7635</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:11:49Z</dc:date>
    </item>
    <item>
      <title>Re: PWM can't be set to 0% duty cycle</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525000#M7636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Fri Apr 17 02:38:03 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: giusloq&lt;/STRONG&gt;&lt;BR /&gt;Why?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Wrong code&amp;nbsp; :) &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:11:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525000#M7636</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: PWM can't be set to 0% duty cycle</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525001#M7637</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Fri Apr 17 02:51:03 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#include "chip.h"
#define PIN_PWM3, 25
#define LPC_PWM1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((LPC_PWM_T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *) LPC_PWM1_BASE)

Chip_PWM_Init(LPC_PWM1);
Chip_IOCON_PinMuxSet(LPC_IOCON, PIN_PWM, IOCON_MODE_INACT | IOCON_FUNC3);/* PWM1[2] */
Chip_PWM_PrescaleSet(LPC_PWM1, 1000);
Chip_PWM_SetControlMode(LPC_PWM1, 2, PWM_SINGLE_EDGE_CONTROL_MODE, PWM_OUT_ENABLED);
Chip_PWM_SetMatch(LPC_PWM1, 0, 100);
Chip_PWM_SetMatch(LPC_PWM1, 2, 0);
Chip_PWM_Enable(LPC_PWM1);
&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'm using the libraries found &lt;/SPAN&gt;&lt;A href="http://http://www.lpcware.com/content/forum/lpcopen-pwm-driver" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt;&lt;SPAN&gt;. I only changed Chip_Pwm_GetClockIndex() in pwm_17xx_40xx.c (the original code uses PWM0 peripheral too that is absent in LPC1769):&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;
/* Returns clock for the peripheral block */
STATIC CHIP_SYSCTL_CLOCK_T Chip_Pwm_GetClockIndex(LPC_PWM_T *pTMR)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHIP_SYSCTL_CLOCK_T clkTMR;

#ifdef CHIP_LPC177X_8X
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pTMR == LPC_PWM0) {
&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; clkTMR = SYSCTL_CLOCK_PWM0;
&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; else if (pTMR == LPC_PWM1) {
&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; clkTMR = SYSCTL_CLOCK_PWM1;
&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; else {
&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; clkTMR = SYSCTL_CLOCK_PWM0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
#endif

#ifdef CHIP_LPC175X_6X
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pTMR == LPC_PWM1) {
&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; clkTMR = SYSCTL_CLOCK_PWM1;
&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; else {
&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; clkTMR = SYSCTL_CLOCK_PWM1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
#endif

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return clkTMR;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:11:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525001#M7637</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: PWM can't be set to 0% duty cycle</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525002#M7638</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Fri Apr 17 03:03:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Could be useful if you post your complete project (if it's LPCXpresso)...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:11:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525002#M7638</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:11:51Z</dc:date>
    </item>
    <item>
      <title>Re: PWM can't be set to 0% duty cycle</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525003#M7639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Fri Apr 17 03:48:21 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: giusloq&lt;/STRONG&gt;&lt;BR /&gt;I'm using the libraries found &lt;A href="http://http://www.lpcware.com/content/forum/lpcopen-pwm-driver" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt;.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And that's the wrong code&amp;nbsp; :exmark: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This library isn't latching Match registers&amp;nbsp; J) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Adding:&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_PWM_SetMatch(LPC_PWM1, 0, 100);
Chip_PWM_SetMatch(LPC_PWM1, 2, 0);
[color=#f00]LPC_PWM1-&amp;gt;LER = (1&amp;lt;&amp;lt;0)|(1&amp;lt;&amp;lt;2);[/color]
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;should persuade PWM to work as expected&amp;nbsp; &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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:11:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525003#M7639</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:11:51Z</dc:date>
    </item>
    <item>
      <title>Re: PWM can't be set to 0% duty cycle</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525004#M7640</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Fri Apr 17 04:50:15 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;This library isn't latching Match registers&amp;nbsp; J) &lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Until now, I ignored the latching register. I wonder why &lt;/SPAN&gt;&lt;STRONG&gt;it worked well&lt;/STRONG&gt;&lt;SPAN&gt; without setting LER bits for &lt;/SPAN&gt;&lt;STRONG&gt;all&lt;/STRONG&gt;&lt;SPAN&gt; duty cycle values (Match register 2 values), &lt;/SPAN&gt;&lt;STRONG&gt;but &lt;/STRONG&gt;&lt;SPAN&gt;the single value of 0&amp;nbsp; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very much, my friend.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:11:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PWM-can-t-be-set-to-0-duty-cycle/m-p/525004#M7640</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:11:52Z</dc:date>
    </item>
  </channel>
</rss>

