<?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>please why nrf52832 gpio does not  produce Interrupt</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/56324/please-why-nrf52832-gpio-does-not-produce-interrupt</link><description>Here is my program： 
 
 #define EXIT_PIN 31 
 void EXIT_Init(void) { 
 nrf_gpio_cfg_input(EXIT_PIN,GPIO_PIN_CNF_PULL_Pullup); 
 NVIC_EnableIRQ(GPIOTE_IRQn); NRF_GPIOTE-&amp;gt;CONFIG[0] = (GPIOTE_CONFIG_POLARITY_HiToLo &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_Pos) | (EXIT_PIN</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 14 Jan 2020 10:17:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/56324/please-why-nrf52832-gpio-does-not-produce-interrupt" /><item><title>RE: please why nrf52832 gpio does not  produce Interrupt</title><link>https://devzone.nordicsemi.com/thread/228998?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2020 10:17:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:513ea971-d143-4e55-84c1-001bd90f5c4e</guid><dc:creator>qianxuping</dc:creator><description>&lt;p&gt;&lt;span&gt;Thank you very much:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;i find out why,&amp;nbsp; the function buttons_leds_init(&amp;amp;erase_bonds) which has a pin which same as EXIT_PIN ,i don&amp;#39;t use this function ,Program can enter interrupt.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;now,i have a&amp;nbsp;problem，My interrupt configuration，&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NRF_GPIOTE-&amp;gt;CONFIG[0] =&amp;nbsp; (GPIOTE_CONFIG_POLARITY_HiToLo &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_Pos)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| (EXIT_PIN &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_Pos)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| (GPIOTE_CONFIG_MODE_Event &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_Pos);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;that Equivalent to&amp;nbsp;&amp;nbsp;NRF_GPIOTE-&amp;gt;CONFIG[0] =0x00031f01，if&amp;nbsp;i use the&amp;nbsp;pa_assist(PA_TXEN, PA_RXEN_NONE);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;this&amp;nbsp;function changed my&amp;nbsp;interrupt configuration to&amp;nbsp;NRF_GPIOTE-&amp;gt;CONFIG[0] =0x0;when&amp;nbsp;pa_assist(PA_TXEN, PA_RXEN_NONE) wroks&amp;nbsp;&amp;nbsp;NRF_GPIOTE-&amp;gt;CONFIG[0] =0x31103,&amp;nbsp;I just&amp;nbsp;according&amp;nbsp;0x31103 find&amp;nbsp;what it&amp;nbsp;relation the&amp;nbsp;pa_assist，so i don&amp;#39;t use&amp;nbsp;pa_assist(PA_TXEN, PA_RXEN_NONE), it works ok.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; so&amp;nbsp;if i use&amp;nbsp;pa_assist,my interrupt configuration is&amp;nbsp;Invalid，you know why?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;the&amp;nbsp;below is my function,&amp;nbsp;&amp;nbsp;PA_TXEN&amp;nbsp; is 17,&amp;nbsp;EXIT_PIN&amp;nbsp; &amp;nbsp;is 31&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;void pa_assist(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin)&lt;br /&gt;{&lt;br /&gt;ret_code_t err_code;&lt;br /&gt;static const uint32_t gpio_toggle_ch = 0;&lt;br /&gt;static const uint32_t ppi_set_ch = 0;&lt;br /&gt;static const uint32_t ppi_clr_ch = 1;&lt;br /&gt;// Configure SoftDevice PA assist&lt;br /&gt;ble_opt_t opt;&lt;br /&gt;memset(&amp;amp;opt, 0, sizeof(ble_opt_t));&lt;br /&gt;// Common PA config&lt;br /&gt;opt.common_opt.pa_lna.gpiote_ch_id = gpio_toggle_ch; // GPIOTE channel&lt;br /&gt;opt.common_opt.pa_lna.ppi_ch_id_clr = ppi_set_ch; // PPI channel for pin clearing&lt;br /&gt;opt.common_opt.pa_lna.ppi_ch_id_set = ppi_clr_ch; // PPI channel for pin setting&lt;br /&gt;// PA config&lt;br /&gt;opt.common_opt.pa_lna.pa_cfg.active_high = 1; // Set the pin to be active high&lt;br /&gt;opt.common_opt.pa_lna.pa_cfg.enable = 1; // Enable toggling&lt;br /&gt;opt.common_opt.pa_lna.pa_cfg.gpio_pin = gpio_pa_pin; // The GPIO pin to toggle&lt;br /&gt;&lt;br /&gt;// opt.common_opt.pa_lna.lna_cfg.active_high = 1;&lt;br /&gt;// opt.common_opt.pa_lna.lna_cfg.enable = 1;&lt;br /&gt;// opt.common_opt.pa_lna.lna_cfg.gpio_pin = gpio_lna_pin;&lt;br /&gt;err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &amp;amp;opt);&lt;br /&gt;APP_ERROR_CHECK(err_code);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;my english is not good.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you very much&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: please why nrf52832 gpio does not  produce Interrupt</title><link>https://devzone.nordicsemi.com/thread/228997?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2020 10:16:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0e2e81c3-1eee-49d7-ae97-5384864a2bf4</guid><dc:creator>qianxuping</dc:creator><description>&lt;p&gt;&lt;span&gt;Thank you very much:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;i find out why,&amp;nbsp; the function buttons_leds_init(&amp;amp;erase_bonds) which has a pin which same as EXIT_PIN ,i don&amp;#39;t use this function ,Program cannot enter interrupt.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;now,i have a&amp;nbsp;problem，My interrupt configuration，&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;NRF_GPIOTE-&amp;gt;CONFIG[0] =&amp;nbsp; (GPIOTE_CONFIG_POLARITY_HiToLo &amp;lt;&amp;lt; GPIOTE_CONFIG_POLARITY_Pos)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| (EXIT_PIN &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_Pos)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| (GPIOTE_CONFIG_MODE_Event &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_Pos);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;that Equivalent to&amp;nbsp;&amp;nbsp;NRF_GPIOTE-&amp;gt;CONFIG[0] =0x00031f01，if&amp;nbsp;i use the&amp;nbsp;pa_assist(PA_TXEN, PA_RXEN_NONE);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;this&amp;nbsp;function changed my&amp;nbsp;interrupt configuration to&amp;nbsp;NRF_GPIOTE-&amp;gt;CONFIG[0] =0x0;when&amp;nbsp;pa_assist(PA_TXEN, PA_RXEN_NONE) wroks&amp;nbsp;&amp;nbsp;NRF_GPIOTE-&amp;gt;CONFIG[0] =0x31103, I just&amp;nbsp;according 0x31103 find&amp;nbsp;what it relation the&amp;nbsp;pa_assist，so i don&amp;#39;t use&amp;nbsp;pa_assist(PA_TXEN, PA_RXEN_NONE), it works ok.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; so&amp;nbsp;if i use&amp;nbsp;pa_assist,my interrupt configuration is Invalid，you know why?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;the&amp;nbsp;below is my function,&amp;nbsp;&amp;nbsp;PA_TXEN&amp;nbsp; is 17, EXIT_PIN&amp;nbsp; &amp;nbsp;is 31&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;void pa_assist(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin)&lt;br /&gt;{&lt;br /&gt; ret_code_t err_code;&lt;br /&gt; static const uint32_t gpio_toggle_ch = 0;&lt;br /&gt; static const uint32_t ppi_set_ch = 0;&lt;br /&gt; static const uint32_t ppi_clr_ch = 1;&lt;br /&gt; // Configure SoftDevice PA assist&lt;br /&gt; ble_opt_t opt;&lt;br /&gt; memset(&amp;amp;opt, 0, sizeof(ble_opt_t));&lt;br /&gt; // Common PA config&lt;br /&gt; opt.common_opt.pa_lna.gpiote_ch_id = gpio_toggle_ch; // GPIOTE channel&lt;br /&gt; opt.common_opt.pa_lna.ppi_ch_id_clr = ppi_set_ch; // PPI channel for pin clearing&lt;br /&gt; opt.common_opt.pa_lna.ppi_ch_id_set = ppi_clr_ch; // PPI channel for pin setting&lt;br /&gt; // PA config&lt;br /&gt; opt.common_opt.pa_lna.pa_cfg.active_high = 1; // Set the pin to be active high&lt;br /&gt; opt.common_opt.pa_lna.pa_cfg.enable = 1; // Enable toggling&lt;br /&gt; opt.common_opt.pa_lna.pa_cfg.gpio_pin = gpio_pa_pin; // The GPIO pin to toggle&lt;br /&gt; &lt;br /&gt;// opt.common_opt.pa_lna.lna_cfg.active_high = 1;&lt;br /&gt;// opt.common_opt.pa_lna.lna_cfg.enable = 1;&lt;br /&gt;// opt.common_opt.pa_lna.lna_cfg.gpio_pin = gpio_lna_pin;&lt;br /&gt; err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &amp;amp;opt);&lt;br /&gt; APP_ERROR_CHECK(err_code);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;my english is not good.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you very much&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: please why nrf52832 gpio does not  produce Interrupt</title><link>https://devzone.nordicsemi.com/thread/228137?ContentTypeID=1</link><pubDate>Wed, 08 Jan 2020 13:00:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0058dc59-ca42-4ce8-a226-f134d4725223</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Can you try to base your code using the gpiote driver?&lt;br /&gt;\nRF5_SDK\examples\peripheral\pin_change_int&lt;/p&gt;
&lt;p&gt;For low power use:&lt;/p&gt;
&lt;p&gt;nrf_drv_gpiote_in_config_t&amp;nbsp;in_config&amp;nbsp;=&amp;nbsp;GPIOTE_CONFIG_IN_SENSE_TOGGLE(&lt;strong&gt;false&lt;/strong&gt;); // use false for low power.&lt;/p&gt;
&lt;p&gt;If you want several pins to interrupt you need to increment&amp;nbsp;GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS in sdk_config.h&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: please why nrf52832 gpio does not  produce Interrupt</title><link>https://devzone.nordicsemi.com/thread/228105?ContentTypeID=1</link><pubDate>Wed, 08 Jan 2020 11:03:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:396e4a12-68da-4490-abe3-31c1481d10f6</guid><dc:creator>qianxuping</dc:creator><description>&lt;p&gt;sorry&amp;nbsp;I described it wrong&lt;/p&gt;
&lt;p&gt;Program cannot enter interrupt，i&amp;nbsp;Looking at it with an oscilloscope,&amp;nbsp; the&amp;nbsp;&lt;span&gt;EXIT_PIN&lt;/span&gt; Has become&amp;nbsp; low level，but &lt;span&gt;cannot enter interrupt&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;&lt;span&gt;EXIT_PIN&amp;nbsp; &amp;nbsp;is the pin which if data is ok ，Another device Pulls EXIT_PIN&amp;#39;s level down.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks&amp;nbsp;very much.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: please why nrf52832 gpio does not  produce Interrupt</title><link>https://devzone.nordicsemi.com/thread/228082?ContentTypeID=1</link><pubDate>Wed, 08 Jan 2020 10:13:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c04baf88-06be-4e9a-9ddf-38e3f2492afb</guid><dc:creator>qianxuping</dc:creator><description>&lt;p&gt;i&amp;nbsp; changed in the&amp;nbsp;&amp;nbsp;&lt;span&gt;#include &amp;quot;nrfx_irqs_nrf52832.h&amp;quot;,&amp;nbsp; because Symbol GPIOTE_IRQHandler multiply defined (by exit.o and nrfx_gpiote.o).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;#include &amp;quot;nrfx_irqs_nrf52832.h&amp;quot;&lt;/p&gt;
&lt;p&gt;// GPIOTE_IRQn&lt;br /&gt;//#define nrfx_gpiote_irq_handler GPIOTE_IRQHandler&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>