<?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>GPIOTE PWM config question</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/15129/gpiote-pwm-config-question</link><description>Hi, in the (not great) mBed PWM driver, when setting up GPIOTE to toggle the output pin they do this: 
 /** @brief Function for initializing the GPIO Tasks/Events peripheral.
 */
void gpiote_init(PinName pin, uint8_t channel_number)
{
 // Connect</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 14 Jul 2016 14:11:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/15129/gpiote-pwm-config-question" /><item><title>RE: GPIOTE PWM config question</title><link>https://devzone.nordicsemi.com/thread/57758?ContentTypeID=1</link><pubDate>Thu, 14 Jul 2016 14:11:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48eaa903-c1c1-4cfb-994f-7964ffcc4869</guid><dc:creator>T&amp;#252;ze</dc:creator><description>&lt;p&gt;This is a workaround for a known anomaly on some of the nrf51 chips, where the initial value for GPIOTE output after configuration can be undefined.&lt;/p&gt;
&lt;p&gt;Take a look at PAN 9 at &lt;a href="http://infocenter.nordicsemi.com/pdf/nRF51822-pan_v2.3.pdf"&gt;infocenter.nordicsemi.com/.../nRF51822-pan_v2.3.pdf&lt;/a&gt;
To find the explanation and whether your chipset is affected by the said issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE PWM config question</title><link>https://devzone.nordicsemi.com/thread/57757?ContentTypeID=1</link><pubDate>Wed, 13 Jul 2016 13:38:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c5cf256-2ca7-460f-82af-398349e841c5</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;That&amp;#39;s possible. I actually have an open case for a one-cycle pin blip like that, however it wasn&amp;#39;t so simple and only showed up when a number of channels were being used at the same time and I never got it pinned down. We did discuss the possibility of it being the internal GPIOTE level, but testing that exact thing didn&amp;#39;t show it up. That may be a belt-and-suspenders bit of code however to try and ensure everything possible has been done before the real pin is connected to ensure there&amp;#39;s no chance of a blip.&lt;/p&gt;
&lt;p&gt;Wouldn&amp;#39;t work on the BGA chip version, that does have P0.31 available for use.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE PWM config question</title><link>https://devzone.nordicsemi.com/thread/57756?ContentTypeID=1</link><pubDate>Wed, 13 Jul 2016 13:32:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:569a9765-0ff0-4e4d-871a-27615c591a6d</guid><dc:creator>Tim</dc:creator><description>&lt;p&gt;Ah I think I understand a bit now. Maybe. When they connect GPIOTE to the pin it will immediately set the pin to the internal GPIOTE level, which may be high, and therefore cause an unwanted pulse. Therefore to get the internal GPIOTE level low they disconnect it from any pins and trigger the HiToLo task. Then the internal level is low so when the reconnect it to the target pin it will stay low. This is just a guess but it makes sense to me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE PWM config question</title><link>https://devzone.nordicsemi.com/thread/57755?ContentTypeID=1</link><pubDate>Wed, 13 Jul 2016 13:26:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eaa4005e-af32-4c17-9e3d-847e9329feaa</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;All I can say is that I&amp;#39;ve never done anything like that and never had an issue, the nordic driver code doesn&amp;#39;t do anything like that, including the three NOPs, I&amp;#39;ve never heard of anything using one pin before using the one you want, P0.31 does exist (just not on the QFN48) and I&amp;#39;ve never head of an issue with OUTINIT, well apart from it is possible to get a one clock cycle blip when you configure the GPIOTE, but you can avoid that by setting the pin to the right level before you set it up.&lt;/p&gt;
&lt;p&gt;I really don&amp;#39;t know what issue they thought they were solving with that piece of code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>