<?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 interrupt not taken</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/12688/gpiote-interrupt-not-taken</link><description>nRF51_SDK_9.0.0_2e23562
S310 
 /*
 * Setup the gpiote to handle pin events on the MMA8451Q INT1 pin. For the
 * accelerometer we want to detect high-&amp;gt;low transitions in order to know
 * when accelerometer data is ready.
 */
static nrf_drv_gpiote_in_config_t</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Mar 2016 13:46:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/12688/gpiote-interrupt-not-taken" /><item><title>RE: gpiote interrupt not taken</title><link>https://devzone.nordicsemi.com/thread/48192?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 13:46:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5861eaa-fc90-4022-ac79-0107e99afec0</guid><dc:creator>wlgrd</dc:creator><description>&lt;p&gt;Just so you can mark this as solved:&lt;/p&gt;
&lt;p&gt;If you don&amp;#39;t have an external pullup, the solution is to set .pull to PULLUP. This way, the GPIOTE IN pin can have a defined state before high to low transition. If the initial value of the pin (which in your case is floating) is lower than a certain threshold (which I couldn&amp;#39;t find at the moment), the transition will not be registered.&lt;/p&gt;
&lt;p&gt;Setting an internal pullup will result in a high to low transition of VCC-&amp;gt;GND and will certainly be registeret as a valid transition.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote interrupt not taken</title><link>https://devzone.nordicsemi.com/thread/48191?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 13:38:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:57eff027-741c-453d-9c6b-f44374d442a4</guid><dc:creator>wlgrd</dc:creator><description>&lt;p&gt;That depends on your hardware, but I guess that the floating state of your input pin is not high enough to trigger a transitional state. Say the GPIOTE IN pin is at 0.3V floating. Pulling that low wont trigger an actual low flank, but now with pullup, you&amp;#39;ll have a transition from VCC-&amp;gt;GND, which definately will  be registered as a valid high to low transition.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote interrupt not taken</title><link>https://devzone.nordicsemi.com/thread/48190?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 12:18:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8871323-a818-4844-a69c-191241fb8fa2</guid><dc:creator>why_do_i_need_a_user_name</dc:creator><description>&lt;p&gt;Hmmm, adding a pull-up made the problem go away.
I appreciate your help, thank you.
Care to enlighten me as to why that would make the difference?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote interrupt not taken</title><link>https://devzone.nordicsemi.com/thread/48189?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 11:46:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:906360b5-8a94-458e-9443-a444b3b7281e</guid><dc:creator>wlgrd</dc:creator><description>&lt;p&gt;Have you tried setting .pull to pullup?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote interrupt not taken</title><link>https://devzone.nordicsemi.com/thread/48188?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 11:43:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1627914a-5fc9-4f4e-ba91-97cb2f336400</guid><dc:creator>why_do_i_need_a_user_name</dc:creator><description>&lt;p&gt;The issue is: the ISR does not run, inspection of the input pin by oscilloscope indicates that the interrupt input pin IS asserted.&lt;/p&gt;
&lt;p&gt;GPIOTE has 2 pins configured as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;MMA8451Q              nRF51422&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;hr /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;|             |           |              |&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;|      INT2 |--------&amp;gt;| P0.16     |&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;|             |           |              |&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;|      INT1 |--------&amp;gt;| P0.15     |&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;|             |           |              |&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;hr /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Accelerometer IC      Microcontroller IC&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GPIOTE Configuration is as follows&lt;/p&gt;
&lt;p&gt;/*&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setup the gpiote to handle pin events on the MMA8451Q INT1 pin. For the&lt;/li&gt;
&lt;li&gt;accelerometer we want to detect high-&amp;gt;low transitions in order to know&lt;/li&gt;
&lt;li&gt;when accelerometer data is ready.
*/
static nrf_drv_gpiote_in_config_t m_INT1_pin_config =
{
.is_watcher  = false,
.hi_accuracy = true,
.pull        = NRF_GPIO_PIN_NOPULL,
.sense       = NRF_GPIOTE_POLARITY_HITOLO
};&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;/*&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setup the gpiote to handle pin events on the MMA8451Q INT2 pin. For the&lt;/li&gt;
&lt;li&gt;accelerometer we want to detect high-&amp;gt;low transitions in order to know&lt;/li&gt;
&lt;li&gt;when the accelerometer has changed orientation e.g. from portrait to landscape.
*/
static nrf_drv_gpiote_in_config_t m_INT2_pin_config =
{
.is_watcher  = false,
.hi_accuracy = true,
.pull        = NRF_GPIO_PIN_NOPULL,
.sense       = NRF_GPIOTE_POLARITY_HITOLO
};&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote interrupt not taken</title><link>https://devzone.nordicsemi.com/thread/48187?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 11:23:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc5515f4-d6c4-4ee3-bd31-f276399b7b1e</guid><dc:creator>wlgrd</dc:creator><description>&lt;p&gt;How is the timing for the pin interrupt? What do you mean &amp;quot;we see an issue&amp;quot;? Is the event not set? Is the ISR not running? Is the callback not called? Is nothing at all working? How is the GPIOTE configured, i.e how many pins are configured, what interrupt priority do you have and what others? You should provide A LOT more information.
And, you need a username to be unique on the forum.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>