<?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>How to redefine PPI tasks inside a TIMER interrupt ???</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/257/how-to-redefine-ppi-tasks-inside-a-timer-interrupt</link><description>Dear Nordic Developer Zone, 
 I am working on a BLE application using nrf51822 with softDevice . 
 My aim is to be able to redefine which GPIOTE channel my PPI is using inside the TIMER1 interrupt under logical conditions. 
 Unfortunately, all softdevice</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 Aug 2013 06:47:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/257/how-to-redefine-ppi-tasks-inside-a-timer-interrupt" /><item><title>RE: How to redefine PPI tasks inside a TIMER interrupt ???</title><link>https://devzone.nordicsemi.com/thread/1371?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2013 06:47:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bd3a864a-e8a8-4d48-a734-9d900bec7bc6</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;This doesn&amp;#39;t seem very related to the original question here, but this is a file the application should provide when using the TWI modules from the SDK. An example can be found in this folder: Board\nrf6310\nRF6350_radio_configuration_example&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to redefine PPI tasks inside a TIMER interrupt ???</title><link>https://devzone.nordicsemi.com/thread/1370?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2013 02:13:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e9f2476-c2f5-4552-919f-18dff74f9dcd</guid><dc:creator>oscalcmen</dc:creator><description>&lt;p&gt;where is located the twi_master_config.h header file?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to redefine PPI tasks inside a TIMER interrupt ???</title><link>https://devzone.nordicsemi.com/thread/1369?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2013 11:58:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6229f5d0-c973-45af-a6c1-ae4f19014c37</guid><dc:creator>S&amp;#233;bastien Despont</dc:creator><description>&lt;p&gt;Thank you so much. I was stucked on this problem for 2 days.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to redefine PPI tasks inside a TIMER interrupt ???</title><link>https://devzone.nordicsemi.com/thread/1368?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2013 11:49:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e307989-aee8-4d2b-87c7-3bbb6a3124a7</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;If you see this consistently failing (with a HardFault error), the timer interrupt most likely runs with too high priority to call softdevice functions. The problem with this is described in the &amp;quot;Application Programming Interface&amp;quot; section in the nRF51 Series Reference Manual appendix:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SVC calls are conceptually software triggered interrupts with a procedure call standard for parameter passing and return values. Each API call generates an interrupt allowing single-thread API context and SoftDevice function locations to be independent from the application perspective at compile-time. &lt;em&gt;SoftDevice API functions can only be called from lower interrupt priority when compared to the SVC priority.&lt;/em&gt; See the Exception (interrupt) management with a SoftDevice section on page 182.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The SVC interrupt have priority 2, so to call softdevice API functions (for example the PPI function), your IRQ handler must run at priority 3.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>