<?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>Interrupt not firing</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/66930/interrupt-not-firing</link><description>Hello DevZone, 
 
 SDK 15.0.0 SD S140 
 Currently working without an active SoftDevice but even with an active SoftDevice these problems keep occurring. 
 I&amp;#39;m currently working with a couple of SPI devices connected to my nRF52840. 
 I am using an app</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 14 Oct 2020 14:04:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/66930/interrupt-not-firing" /><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274923?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 14:04:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d0ec5ae6-1527-46c5-af84-6a5c8d7ce366</guid><dc:creator>T IJ</dc:creator><description>&lt;p&gt;I think my problem lies there, I am expecting an interrupt to happen with the same priority as the interrupt that is used to do my SPI transmission. I will change the interrupt priority of my SPI peripheral to be higher than the app timer&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274887?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 12:30:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e6c1395b-dd89-4a48-ab70-595e64da885f</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Yes, but the new interrupt will stay pending until the first one has been serviced - an active interrupt cannot be preempted by a new interrupt of the same priority. Anyway, please check the ISR number when the GPIOTE interrupt has stopped firing. It should be zero unless the program is servicing an interrupt.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1602678703077v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274863?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 11:26:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb54d75f-8c0b-48d8-bb8a-cb172b970a9c</guid><dc:creator>T IJ</dc:creator><description>&lt;p&gt;No nothing, just a while loop waiting for the boolean to become false.&lt;/p&gt;
&lt;p&gt;Are nested interrupts with the same interrupt priority possible or does one interrupt need to be finished before the next one can occur?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274776?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 06:26:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3d4928ef-84a2-4a5f-ba00-9d6c025fa22a</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Any idea why that might be? Are you disabling or masking interrupts in your code?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274773?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2020 06:19:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3028f6f2-07f2-4634-af85-499e5a5d9a19</guid><dc:creator>T IJ</dc:creator><description>&lt;p&gt;I&amp;#39;ve done that and the output is 1, so that tells me that the interrupt is pending, just not firing&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274678?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2020 13:31:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b19b3cf1-91e1-4659-bc26-73b2798c1262</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I&amp;#39;m not really sure what the problem could be then. Can you try calling NVIC_GetPendingIRQ(&amp;lt;SPI IRQn&amp;gt;) after it has stopped working to confirm whether the interrupt is set pending or not?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274561?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2020 10:17:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e491e384-918f-48ad-b519-e5b7eb7fb6a2</guid><dc:creator>T IJ</dc:creator><description>&lt;p&gt;No, the program continues normally after the first six transmissions. I can find nothing that would cause the system to hang or something.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The app timer&amp;#39;s handler is called, I do my SPI communication, wait for it to be done using its interrupt and send a new packet.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But it keeps getting stuck in waiting for the transmission to be done all though I can see on my logic analyzer and in my breakpoint code that the data is transmitted but the interrupt handler is never called, thus never clearing the transmission done flag.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupt not firing</title><link>https://devzone.nordicsemi.com/thread/274553?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2020 09:43:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25a192ee-21e9-4198-924c-9acfd9881bc1</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I would expect the SPI interrupt to be pending based on the register readout shown in your last screenshot. Is it possible that the program may have ended up in another interrupt after the six successful transmissions that causes the SPI interrupt to become blocked, or have you verified that the program returns back to the main context?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>