<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/64402/4x-independent-pwm---code-check-required</link><description>Hi, I had this working, I&amp;#39;m sure of it. Now though I get 100% duty on one channel and 0% on another. Something&amp;#39;s not right. Pins are correct, my focus is CFG_PWM_OUTPUT_FRONT_NUM which is number/channel 1 in the duty array. I set the value with a duty</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 01 Aug 2020 19:00:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/64402/4x-independent-pwm---code-check-required" /><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262664?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 19:00:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43061720-d095-4fda-b09d-66ab369dcbf8</guid><dc:creator>snoopy20</dc:creator><description>&lt;p&gt;You&amp;#39;re right, that&amp;#39;s got it. Awesome help! I hope they get this into the documentation!&lt;br /&gt;&lt;br /&gt;PS) CFG_PWM_INVERT+2 should be CFG_PWM_INVERT | 2&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262663?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 18:43:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2064b849-694e-4db4-b111-3ffd96308c6e</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Ahh, a bit more magic needed... you have to configure both sequences:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  volatile uint16_t nrf_pwm_duty[4] = {CFG_PWM_INVERT,CFG_PWM_INVERT,CFG_PWM_INVERT,CFG_PWM_INVERT};

  // pwm
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_USB_NUM] =  (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_FRONT_NUM] =  (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_REAR_NUM] =  (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_MPPT_NUM] =  (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  //NRF_GPIO-&amp;gt;OUTSET = 1 &amp;lt;&amp;lt; CFG_PIN_PWM_FRONT_NUM;

  NRF_PWM0-&amp;gt;COUNTERTOP  = CFG_PWM_COUNT &amp;lt;&amp;lt; PWM_COUNTERTOP_COUNTERTOP_Pos; // 200 = 16MHz/200 = 80KHz, 10mA per step 
  NRF_PWM0-&amp;gt;DECODER     = (PWM_DECODER_LOAD_Individual &amp;lt;&amp;lt; PWM_DECODER_LOAD_Pos) | (PWM_DECODER_MODE_RefreshCount &amp;lt;&amp;lt; PWM_DECODER_MODE_Pos);
  NRF_PWM0-&amp;gt;SEQ[0].PTR  = ((uint32_t) nrf_pwm_duty) &amp;lt;&amp;lt; PWM_SEQ_PTR_PTR_Pos;
  NRF_PWM0-&amp;gt;SEQ[0].CNT  = (sizeof(nrf_pwm_duty) / sizeof(uint16_t)) &amp;lt;&amp;lt; PWM_SEQ_CNT_CNT_Pos;
  NRF_PWM0-&amp;gt;SEQ[1].PTR  = ((uint32_t) nrf_pwm_duty) &amp;lt;&amp;lt; PWM_SEQ_PTR_PTR_Pos;
  NRF_PWM0-&amp;gt;SEQ[1].CNT  = (sizeof(nrf_pwm_duty) / sizeof(uint16_t)) &amp;lt;&amp;lt; PWM_SEQ_CNT_CNT_Pos;
  NRF_PWM0-&amp;gt;SHORTS      = PWM_SHORTS_LOOPSDONE_SEQSTART0_Enabled &amp;lt;&amp;lt; PWM_SHORTS_LOOPSDONE_SEQSTART0_Pos;
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_USB_NUM] = (CFG_PIN_PWM_USB_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_FRONT_NUM] = (CFG_PIN_PWM_FRONT_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_REAR_NUM] = (CFG_PIN_PWM_REAR_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_MPPT_NUM] = (CFG_PIN_PWM_MPPT_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
	NRF_PWM0-&amp;gt;LOOP = 1;
 
  NRF_PWM0-&amp;gt;ENABLE = PWM_ENABLE_ENABLE_Enabled &amp;lt;&amp;lt; PWM_ENABLE_ENABLE_Pos;
  NRF_PWM0-&amp;gt;TASKS_SEQSTART[0] = 1;	
	while (1) {
		for (volatile int i=0; i&amp;lt;1000000; i++) ;
		nrf_pwm_duty[0] = CFG_PWM_INVERT+198;	
		for (volatile int i=0; i&amp;lt;1000000; i++) ;
		nrf_pwm_duty[0] = CFG_PWM_INVERT+2;		
	}
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262659?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 17:08:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d92bea83-d9bc-44c1-a48b-dbeba98f88f8</guid><dc:creator>snoopy20</dc:creator><description>&lt;p&gt;Spoke too soon, with Loop = 1 it still doesn&amp;#39;t work.&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt; // pwm
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_USB_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_FRONT_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_REAR_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_MPPT_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;OUTSET = 1 &amp;lt;&amp;lt; CFG_PIN_PWM_FRONT_NUM;

  NRF_PWM0-&amp;gt;COUNTERTOP  = CFG_PWM_COUNT &amp;lt;&amp;lt; PWM_COUNTERTOP_COUNTERTOP_Pos; // 200 = 16MHz/200 = 80KHz, 10mA per step
  NRF_PWM0-&amp;gt;DECODER     = (PWM_DECODER_LOAD_Individual &amp;lt;&amp;lt; PWM_DECODER_LOAD_Pos) | (PWM_DECODER_MODE_RefreshCount &amp;lt;&amp;lt; PWM_DECODER_MODE_Pos);
  NRF_PWM0-&amp;gt;SEQ[0].PTR  = ((uint32_t) nrf_pwm_duty) &amp;lt;&amp;lt; PWM_SEQ_PTR_PTR_Pos;
  NRF_PWM0-&amp;gt;SEQ[0].CNT  = (sizeof(nrf_pwm_duty) / sizeof(uint16_t)) &amp;lt;&amp;lt; PWM_SEQ_CNT_CNT_Pos;
  NRF_PWM0-&amp;gt;SHORTS      = PWM_SHORTS_LOOPSDONE_SEQSTART0_Enabled &amp;lt;&amp;lt; PWM_SHORTS_LOOPSDONE_SEQSTART0_Pos;
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_USB_NUM] = (CFG_PIN_PWM_USB_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_FRONT_NUM] = (CFG_PIN_PWM_FRONT_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_REAR_NUM] = (CFG_PIN_PWM_REAR_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_MPPT_NUM] = (CFG_PIN_PWM_MPPT_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;LOOP = 1;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262653?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 14:19:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08b73720-c890-4db6-9f63-d56b8c2a17eb</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;You didn&amp;#39;t enable looping, thus no LOOPSDONE event is generated and pwm stalls when the sequence is passed. Just one line:&lt;/p&gt;
&lt;p&gt;NRF_PWM0-&amp;gt;LOOP = 1;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262649?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 13:08:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d709c4af-07fe-4609-ac7c-4919fae9e458</guid><dc:creator>snoopy20</dc:creator><description>&lt;p&gt;I&amp;#39;ve figured it, I&amp;#39;m initially setting the value as 0x8000 so there&amp;#39;s no output. I then update the values in nrf_pwm_duty and EasyDMA isn&amp;#39;t picking them up. &lt;br /&gt;&lt;br /&gt;According to the documentation EasyDMA should set the values transparently. I can&amp;#39;t see any reason why it&amp;#39;s not working.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262648?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 12:46:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6816f617-679c-4767-be6a-1e2ac6555d66</guid><dc:creator>snoopy20</dc:creator><description>&lt;p&gt;Damn, I&amp;#39;ve just swapped the 810 and it&amp;#39;s behaving the same as the original.&lt;br /&gt;&lt;br /&gt;Here are the defines, nothing special and pins are 100% correct (tested via GPIO function).&lt;br /&gt;&lt;br /&gt;enum CFG_PWM_NUM {&lt;br /&gt;&amp;nbsp; CFG_PWM_OUTPUT_USB_NUM,&lt;br /&gt;&amp;nbsp; CFG_PWM_OUTPUT_FRONT_NUM,&lt;br /&gt;&amp;nbsp; CFG_PWM_OUTPUT_REAR_NUM,&lt;br /&gt;&amp;nbsp; CFG_PWM_MPPT_NUM&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;#define CFG_PWM_RESOLUTION 8&lt;br /&gt;#define CFG_PWM_INVERT (1 &amp;lt;&amp;lt; 15)&lt;br /&gt;#define CFG_PWM_COUNT 200 //((1 &amp;lt;&amp;lt; CFG_PWM_RESOLUTION)-1)&lt;br /&gt;&lt;br /&gt;#define CFG_PIN_PWM_USB_NUM 27&lt;br /&gt;#define CFG_PIN_PWM_FRONT_NUM 26&lt;br /&gt;#define CFG_PIN_PWM_REAR_NUM 25&lt;br /&gt;#define CFG_PIN_PWM_MPPT_NUM 18&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262647?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 12:30:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:937366ce-c515-4933-a48f-5dc7f5b0ee9f</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;your code works at 52832 (I believe pwm module is identical in 52810). Though you didn&amp;#39;t show some defines, if they&amp;#39;re correct, it looks like a hardware issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 4x Independent PWM - Code Check Required</title><link>https://devzone.nordicsemi.com/thread/262636?ContentTypeID=1</link><pubDate>Sat, 01 Aug 2020 08:09:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8327ab86-41ee-4752-9571-edece4adcc55</guid><dc:creator>snoopy20</dc:creator><description>&lt;p&gt;I&amp;#39;ve been battling this for a few hours and still can&amp;#39;t crack it.&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve tested the pins by using GPIO and driving them high. Currently when PWM is enabled they all sit at 0v.&lt;br /&gt;&lt;br /&gt;The values in nrf_pwm_duty are correct (I set them at 0x8032 elsewhere, so 50/200 duty).&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  volatile uint16_t nrf_pwm_duty[4] = {CFG_PWM_INVERT, CFG_PWM_INVERT, CFG_PWM_INVERT, CFG_PWM_INVERT};

  // pwm
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_USB_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_FRONT_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_REAR_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  NRF_GPIO-&amp;gt;PIN_CNF[CFG_PIN_PWM_MPPT_NUM] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos) | (GPIO_PIN_CNF_DRIVE_S0S1 &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos);
  //NRF_GPIO-&amp;gt;OUTSET = 1 &amp;lt;&amp;lt; CFG_PIN_PWM_FRONT_NUM;

  NRF_PWM0-&amp;gt;COUNTERTOP  = CFG_PWM_COUNT &amp;lt;&amp;lt; PWM_COUNTERTOP_COUNTERTOP_Pos; // 200 = 16MHz/200 = 80KHz, 10mA per step 
  NRF_PWM0-&amp;gt;DECODER     = (PWM_DECODER_LOAD_Individual &amp;lt;&amp;lt; PWM_DECODER_LOAD_Pos) | (PWM_DECODER_MODE_RefreshCount &amp;lt;&amp;lt; PWM_DECODER_MODE_Pos);
  NRF_PWM0-&amp;gt;SEQ[0].PTR  = ((uint32_t) nrf_pwm_duty) &amp;lt;&amp;lt; PWM_SEQ_PTR_PTR_Pos;
  NRF_PWM0-&amp;gt;SEQ[0].CNT  = (sizeof(nrf_pwm_duty) / sizeof(uint16_t)) &amp;lt;&amp;lt; PWM_SEQ_CNT_CNT_Pos;
  NRF_PWM0-&amp;gt;SHORTS      = PWM_SHORTS_LOOPSDONE_SEQSTART0_Enabled &amp;lt;&amp;lt; PWM_SHORTS_LOOPSDONE_SEQSTART0_Pos;
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_USB_NUM] = (CFG_PIN_PWM_USB_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_FRONT_NUM] = (CFG_PIN_PWM_FRONT_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_OUTPUT_REAR_NUM] = (CFG_PIN_PWM_REAR_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
  NRF_PWM0-&amp;gt;PSEL.OUT[CFG_PWM_MPPT_NUM] = (CFG_PIN_PWM_MPPT_NUM &amp;lt;&amp;lt; PWM_PSEL_OUT_PIN_Pos) | (PWM_PSEL_OUT_CONNECT_Connected &amp;lt;&amp;lt; PWM_PSEL_OUT_CONNECT_Pos);
 
  NRF_PWM0-&amp;gt;ENABLE = PWM_ENABLE_ENABLE_Enabled &amp;lt;&amp;lt; PWM_ENABLE_ENABLE_Pos;
  NRF_PWM0-&amp;gt;TASKS_SEQSTART[0] = 1;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I&amp;#39;m unsure if the SHORTS for Looping is required but tried with and without.&lt;br /&gt;&lt;br /&gt;To my eyes this code is identical to the examples givin in the documentation.&lt;/p&gt;
&lt;p&gt;If I GPIO high one of the pins and enable the PWM the pin goes low, so it is enabled.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>