<?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 on *Both* P0 &amp;amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/82645/gpiote-on-both-p0-p1-gpios-in-nrf52840</link><description>Hello, 
 I would like to attach interrupts to the following pins on the P0 GPIO and the P1 GPIO: 
 P0: 
 
 21 
 23 
 27 
 
 P1: 
 
 11 
 12 
 13 
 14 
 15 
 
 However, it seems that there is only one GPIOTE instance on the NRF52840 (which corresponds</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 21 Dec 2021 19:00:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/82645/gpiote-on-both-p0-p1-gpios-in-nrf52840" /><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344683?ContentTypeID=1</link><pubDate>Tue, 21 Dec 2021 19:00:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7eea390a-3127-46d6-82ad-702b38e7d301</guid><dc:creator>ejbasile</dc:creator><description>&lt;p&gt;Hi Priyanka,&lt;/p&gt;
&lt;p&gt;Unfortunately, after some testing, the workaround produced the same stalling issue once the EGU3 interrupt was enabled via the NVIC (refer to the code in previous reply for full implementation.)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As stated previously in another reply, I did contact the Arduino MBed OS team on their GitHub and am awaiting their reply.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I will keep Nordic in the loop. I have spoken to a few other individuals who are experiencing the same issue with this board, so hopefully there can be a resolution shortly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344679?ContentTypeID=1</link><pubDate>Tue, 21 Dec 2021 17:37:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6150856f-5e06-446b-870b-ab2bac60ff24</guid><dc:creator>ejbasile</dc:creator><description>&lt;p&gt;Hi Priyanka,&lt;/p&gt;
&lt;p&gt;Thanks for showing me that ticket. This is my current (nonworking) implementation. I will continue to investigate why the SWI0_EGU0_IRQHandler_v is not triggering when I start the &amp;quot;configure_gpiote_for_events()&amp;quot; function.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll keep your team updated.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Rising Edge Interrupt for GPIO (D2-9) Events
extern &amp;quot;C&amp;quot; void SWI3_IRQHandler_v() {
  pinMode(LEDG, OUTPUT);
  if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[0] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[0] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[1] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[1] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[2] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[2] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[3] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[3] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[4] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[4] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[5] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[5] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[6] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[6] = 0;
    
    // Code Here
  }
  else if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[7] == 1)
  {
    NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[7] = 0;
    
    // Code Here
  }
}

#define GPIO_P0 0UL
#define GPIO_P1 1UL

// P0
#define D7_PIN_NUM 23UL
#define D8_PIN_NUM 21UL
#define D9_PIN_NUM 27UL

// P1
#define D2_PIN_NUM 11UL
#define D3_PIN_NUM 12UL
#define D4_PIN_NUM 15UL
#define D5_PIN_NUM 13UL
#define D6_PIN_NUM 14UL


constexpr uint32_t GPIOTE_PINS[] = {D2, 
                                    D3, 
                                    D4, 
                                    D5, 
                                    D6, 
                                    D7, 
                                    D8, 
                                    D9};

constexpr uint32_t NUM_GPIOTE_PINS = sizeof(GPIOTE_PINS) / sizeof(uint32_t);

enum NRF_GPIOTE_CONFIG_POS
{
  GPIOTE_CONFIG_MODE_POS     = 0UL,
  GPIOTE_CONFIG_PSEL_POS     = 8UL,
  GPIOTE_CONFIG_PORT_POS     = 13UL,
  GPIOTE_CONFIG_POLARITY_POS = 16UL,
  GPIOTE_CONFIG_OUTINIT_POS  = 20UL
};

/**
 * Configure the Digital Pins for input
 */
void configure_digital_pins()
{
  NRF_P0-&amp;gt;PIN_CNF[23] = 0x0UL;
  NRF_P0-&amp;gt;PIN_CNF[21] = 0x0UL;
  NRF_P0-&amp;gt;PIN_CNF[27] = 0x0UL;
  
  NRF_P1-&amp;gt;PIN_CNF[11] = 0x0UL;
  NRF_P1-&amp;gt;PIN_CNF[12] = 0x0UL;
  NRF_P1-&amp;gt;PIN_CNF[15] = 0x0UL;
  NRF_P1-&amp;gt;PIN_CNF[13] = 0x0UL;
  NRF_P1-&amp;gt;PIN_CNF[14] = 0x0UL;
}

/**
 * Configure the Digital Pins on the Nano 33 for GPIOTE Signalling
 */
void configure_digital_pins_for_gpiote()
{
  configure_digital_pins();
  
  NRF_GPIOTE-&amp;gt;CONFIG[0] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D7_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P0                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);

  NRF_GPIOTE-&amp;gt;CONFIG[1] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D8_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P0                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);
  
  NRF_GPIOTE-&amp;gt;CONFIG[2] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D9_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P0                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);
                          
  NRF_GPIOTE-&amp;gt;CONFIG[3] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D2_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P1                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);

  NRF_GPIOTE-&amp;gt;CONFIG[4] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D3_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P1                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);

  NRF_GPIOTE-&amp;gt;CONFIG[5] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D4_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P1                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);

  NRF_GPIOTE-&amp;gt;CONFIG[6] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D5_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P1                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);

  NRF_GPIOTE-&amp;gt;CONFIG[7] = (1UL                        &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_POS)     |
                          (D6_PIN_NUM                 &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_POS)     |
                          (GPIO_P1                    &amp;lt;&amp;lt; GPIOTE_CONFIG_PORT_POS)     |
                          (NRF_GPIOTE_POLARITY_LOTOHI &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_POS);
}

/**
 * Configure the PPI for GPIOTE Events
 */
void configure_ppi_for_gpiote()
{
  NRF_PPI-&amp;gt;CH[0].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[0];
  NRF_PPI-&amp;gt;CH[0].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[0];

  NRF_PPI-&amp;gt;CH[1].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[1];
  NRF_PPI-&amp;gt;CH[1].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[1];

  NRF_PPI-&amp;gt;CH[2].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[2];
  NRF_PPI-&amp;gt;CH[2].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[2];

  NRF_PPI-&amp;gt;CH[3].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[3];
  NRF_PPI-&amp;gt;CH[3].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[3];

  NRF_PPI-&amp;gt;CH[4].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[4];
  NRF_PPI-&amp;gt;CH[4].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[4];

  NRF_PPI-&amp;gt;CH[5].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[5];
  NRF_PPI-&amp;gt;CH[5].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[5];

  NRF_PPI-&amp;gt;CH[6].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[6];
  NRF_PPI-&amp;gt;CH[6].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[6];

  NRF_PPI-&amp;gt;CH[7].EEP = (uint32_t)&amp;amp;NRF_GPIOTE-&amp;gt;EVENTS_IN[7];
  NRF_PPI-&amp;gt;CH[7].TEP = (uint32_t)&amp;amp;NRF_EGU3-&amp;gt;TASKS_TRIGGER[7];

  NRF_PPI-&amp;gt;CHENSET = 0x000000FFUL;
}

void configure_gpiote_for_events()
{

  configure_digital_pins_for_gpiote();

  NVIC_DisableIRQ( SWI3_IRQn ); 
  NVIC_ClearPendingIRQ( SWI3_IRQn );

  configure_ppi_for_gpiote();

  NRF_EGU3-&amp;gt;INTENSET = 0x000000FFUL;
  
  NVIC_SetPriority( SWI3_IRQn, 7UL );
  NVIC_EnableIRQ( SWI3_IRQn );

  while(1);
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344676?ContentTypeID=1</link><pubDate>Tue, 21 Dec 2021 16:51:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85d72534-b1d1-4718-bf3f-08d17864f909</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Elijah,&lt;/p&gt;
&lt;p&gt;That looks like a good workaround and I guess &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/50228/nrf52840---giving-userdefined-function-at-ppi-task-end"&gt;this ticket &lt;/a&gt;could actually help you a lot with this. Thank you very much for letting us know &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344619?ContentTypeID=1</link><pubDate>Tue, 21 Dec 2021 13:58:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee3b7757-725e-42dd-92f7-04509c54cd9d</guid><dc:creator>ejbasile</dc:creator><description>&lt;p&gt;I may have come up with a solution; however, would like a quick clarification. Thank you very much Priyanka for your assistance.&lt;/p&gt;
&lt;p&gt;I would like to connect the GPIOTE &amp;quot;IN&amp;quot; Event to another interrupt handler through the EGU so that when a falling edge is detected on a configured pin, the interrupt is triggered. This way I can avoid the GPIOTE interrupts while still having a quick response on those pin changes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is that workaround possible, and how would I go about binding the two together?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344438?ContentTypeID=1</link><pubDate>Mon, 20 Dec 2021 17:47:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15fc8124-fca8-450f-871c-46da63ab4e7f</guid><dc:creator>ejbasile</dc:creator><description>&lt;p&gt;There seems to be a conflict with Arduino&amp;#39;s mbed OS, and the&amp;nbsp;GPIOTE interrupts. I have included a similar forum below for reference.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/82675/nrf_gpiote--intenset-1-crashes-with-gpiote_config_polarity_lotohi"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/82675/nrf_gpiote--intenset-1-crashes-with-gpiote_config_polarity_lotohi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I opened an issue with Arduino mbed OS&amp;#39;s github seeking some clarification in this area. I will keep Nordic updated.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/arduino/ArduinoCore-mbed/issues/373"&gt;github.com/.../373&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344338?ContentTypeID=1</link><pubDate>Mon, 20 Dec 2021 11:53:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d2fc6c66-85ad-4f20-ba42-9daf2bee8bf1</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Elijah,&lt;/p&gt;
&lt;p&gt;I can see that you set the priority 1 to your GPIOTE , but as you can see from &lt;a href="https://github.com/arduino/ArduinoCore-mbed/blob/master/cores/arduino/mbed/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/config/sdk_config.h#:~:text=%3Co%3E%20GPIOTE_CONFIG_IRQ_PRIORITY%20%20%2D%20Interrupt,reserved%20for%20SoftDevice"&gt;the GithHub page&lt;/a&gt;, the priority 1 is reserved for the SoftDevice and this might cause a problem. You can read more about &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s140%2FSDS%2Fs1xx%2Fprocessor_avail_interrupt_latency%2Fexception_mgmt_sd.html&amp;amp;cp=4_7_4_0_15_1"&gt;interrupt priority levels&lt;/a&gt; too.&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/344236?ContentTypeID=1</link><pubDate>Sun, 19 Dec 2021 21:33:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:235ea3f8-9eb1-4e69-b2de-e9318b136d41</guid><dc:creator>ejbasile</dc:creator><description>&lt;p&gt;Hi Pryanka,&lt;/p&gt;
&lt;p&gt;I thought it possibly was, but I found no issues with my current configuration, but I will list it below for your benefit.&lt;/p&gt;
&lt;p&gt;I configure the GPIO Pins as follows:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;NRF_P0-&amp;gt;PIN_CNF[11] = 0x0UL;
NRF_P0-&amp;gt;PIN_CNF[12] = 0x0UL;
NRF_P0-&amp;gt;PIN_CNF[15] = 0x0UL;
NRF_P1-&amp;gt;PIN_CNF[13] = 0x0UL;
NRF_P1-&amp;gt;PIN_CNF[14] = 0x0UL;
NRF_P1-&amp;gt;PIN_CNF[23] = 0x0UL;
NRF_P1-&amp;gt;PIN_CNF[21] = 0x0UL;
NRF_P1-&amp;gt;PIN_CNF[27] = 0x0UL;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I perform this configuration prior to setting the GPIOTE registers.&amp;nbsp;&lt;/p&gt;
[quote userid="107729" url="~/f/nordic-q-a/82645/gpiote-on-both-p0-p1-gpios-in-nrf52840/343572#343572"]Also, are you usinf the nrf5 SDK, NCS/Zephyr or Arduino?[/quote]
&lt;p&gt;I am using Arduino (Arduino mbed source code located here: &lt;a href="https://github.com/arduino/ArduinoCore-mbed)"&gt;https://github.com/arduino/ArduinoCore-mbed)&lt;/a&gt;. This may be causing the crashing, though I found no&amp;nbsp;areas in the source to suggest there are conflicting issues with the GPIOTE and GPIO pins. The issue, it seems, rests in the interrupts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/343572?ContentTypeID=1</link><pubDate>Wed, 15 Dec 2021 09:31:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1d5a658-0fd8-4e9b-87f3-597ed1a4f9f3</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Elijah,&lt;/p&gt;
&lt;p&gt;I am sorry but I do not understand the term &amp;quot;freezing&amp;quot;. But this may be due to configuration problems. Did you configure&amp;nbsp;&lt;span&gt;the GPIO pins as input through the NRF_P1 registers as well? This is required before the pins can be used with the GPIOTE peripheral. It should look somrhting like this:&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1639562042327v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You could check out the &lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/master/drivers/src/nrfx_gpiote.c#L432"&gt;nrfx_gpiote driver&lt;/a&gt;, and see that they are reconfiguring GPIO through nrf_gpio HAL functions. Also, are you usinf the nrf5 SDK, NCS/Zephyr or Arduino? In case of nrf5 SDK, the priority 1 is used by it&amp;#39;s softdevice and since you are using this for the GPIOTE interrupts, this could be a problem.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/343447?ContentTypeID=1</link><pubDate>Tue, 14 Dec 2021 14:59:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:001f628c-bc9c-47c4-8ce5-472e1b861d89</guid><dc:creator>ejbasile</dc:creator><description>&lt;p&gt;Hi Priyanka,&lt;/p&gt;
&lt;p&gt;Referring to my code in the configure_digital_pins_for_gpiote() function on line 95, you can see how I utilized the CONFIG register in the way you described. Unfortunately, the board freezes after a few 100 clock cycles with no other processes running. Is there an issue with the current way I have handled the interrupts?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;Elijah&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIOTE on *Both* P0 &amp; P1 GPIOs in NRF52840</title><link>https://devzone.nordicsemi.com/thread/343409?ContentTypeID=1</link><pubDate>Tue, 14 Dec 2021 13:07:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a07fbab2-7c16-44b1-9a4e-5872a1005fa8</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Elijah,&lt;/p&gt;
&lt;p&gt;You can set any GPIO pin in the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fgpiote.html&amp;amp;cp=4_0_0_5_9_3_7&amp;amp;anchor=register.CONFIG-0-7"&gt;CONFIG[n]&lt;/a&gt; register through the PSEL and PORT fields.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>