<?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>about GPIOTE event</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/50765/about-gpiote-event</link><description>I&amp;#39;m developing a fingerprint-related project. When the finger touches, the fingerprint sensor generates a pulse signal. NRF52810 will triggers a GPIOTE callback, then wakeup and start BLE advertisement. 
 When finger touches, the problem is, a. The oscilloscope</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 Aug 2019 06:35:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/50765/about-gpiote-event" /><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203723?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2019 06:35:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3491a23c-f5bd-42d2-8192-212216c709cf</guid><dc:creator>Hansome</dc:creator><description>&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203721?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2019 06:26:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1dc5d140-a41d-4b40-9c30-29909886a51e</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you want to call a SoftDevice function (any function with the sd_ prefix), or an SDK function that calls into the SoftDevice under the hood, you have to be in interrupt priorty 6, 7, or in thread context.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The GPIOTE driver should not need to call any SoftDevice functions, so it should be safe to run at interrupt priorities 2 and 3 also.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203594?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 12:47:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b89bed0-870e-425f-84b9-470bc938def6</guid><dc:creator>Hansome</dc:creator><description>&lt;p&gt;So as shown in the figure, I&amp;#39;m a little confused,&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/QQ_FE564772_20190812204544.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;!--StartFragment --&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203561?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 11:48:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f2c5522-6886-4353-acae-9746a6b73bea</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;No, priorities 2, 3, 6, and 7 are available when using the SoftDevice.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203528?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 10:32:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76b76135-20ef-4738-ab6d-c6f7189e7713</guid><dc:creator>Hansome</dc:creator><description>&lt;p&gt;&lt;span&gt;Setting GPIOTE_CONFIG_IRQ_PRIORITY = 2 will affect the softdevice?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203484?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 07:20:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f3b97fc-04a5-49b3-9b3e-bf108a1d23bf</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You should be able to set the GPIOTE interrupt priority by changing the&amp;nbsp;GPIOTE_CONFIG_IRQ_PRIORITY define in sdk_config.h. By default it is set to 6, which is the same as the UART interrupt priority.&lt;/p&gt;
&lt;p&gt;Maybe you can try setting it to 2 or 3 and see if it works better?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203424?ContentTypeID=1</link><pubDate>Sat, 10 Aug 2019 06:30:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c540ff3c-3da2-4336-8875-17afedb2f5c4</guid><dc:creator>Hansome</dc:creator><description>&lt;p&gt;In addition, what attention should be paid to its interrupt code and how to set its interrupt priority?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203423?ContentTypeID=1</link><pubDate>Sat, 10 Aug 2019 06:05:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c87585c8-2dcd-4d09-aa7b-9461e3e38035</guid><dc:creator>Hansome</dc:creator><description>&lt;div class="trans-left"&gt;
&lt;div class="trans-input-wrap"&gt;
&lt;div class="input-wrap" dir="ltr"&gt;
&lt;div class="textarea-wrap without-textarea-bg"&gt;&lt;span class=""&gt;In addition,&amp;nbsp;&lt;/span&gt;How to set GPIOTE interrupt priority?&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203418?ContentTypeID=1</link><pubDate>Sat, 10 Aug 2019 03:17:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8ded9db-a383-4531-9da2-c431e4915c75</guid><dc:creator>Hansome</dc:creator><description>&lt;p&gt;In the UART event handler, only put data to buffer,&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void _on_uart_event(app_uart_evt_t* event)
{

	uint8_t data;
	
	switch(event-&amp;gt;evt_type){
		
		case APP_UART_DATA_READY:
			app_uart_get(&amp;amp;data);
			urb_push(data);
			break;

		default:
			break;
		
	}
	
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;On custom hardware&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203284?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2019 11:32:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50e75c4a-9dad-4399-8ff8-6dbcde1bd9ac</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Are you saying the event won&amp;#39;t even happen again if the pulse signal is sent multiple times?&lt;/p&gt;
&lt;p&gt;Are you doing a lot of processing in the UART event handler that could delay other interrupts and events?&lt;/p&gt;
&lt;p&gt;Are you testing this on custom hardware or on a development kit?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203183?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2019 00:24:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e4c3d81-9234-42c9-86d6-61c989534714</guid><dc:creator>Hansome</dc:creator><description>&lt;p&gt;Only one pin using GPIOTE,&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void _wakeup_pin_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{

	_pin_flag = true;
	
}

	
void init(void)
{
	
	nrf_drv_gpiote_in_config_t cfg = GPIOTE_CONFIG_IN_SENSE_HITOLO(false);
	
	nrf_drv_gpiote_init();
	cfg.pull = NRF_GPIO_PIN_PULLUP;
	nrf_drv_gpiote_in_init(_WAKEUP_PIN, &amp;amp;cfg, _wakeup_pin_handler);
	nrf_drv_gpiote_in_event_enable(_WAKEUP_PIN, true);

}	
	

void proc(void)
{

	if(_pin_flag){
		wakeup();
		_pin_flag = false;
	}
	
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: about GPIOTE event</title><link>https://devzone.nordicsemi.com/thread/203082?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 13:04:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c88a1718-ec4e-4d4e-8372-ca26c8006b52</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Can you show me the code you use to initialize the GPIOTE callback?&lt;/p&gt;
&lt;p&gt;Is this the only pin using GPIOTE, or do you have other pins connected to the GPIOTE, such as buttons?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>