<?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>SPI Master from interrupt</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18416/spi-master-from-interrupt</link><description>I&amp;#39;m using the SPI Master driver code on the nrf52 using EasyDMA to talk to a SPI slave (Adesto Flash chip) 
 I can successfully initialize, read, write and read-back from the flash chip from MAIN. 
 However, if I try to instead read from a timer interrupt</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 22 Dec 2016 20:07:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18416/spi-master-from-interrupt" /><item><title>RE: SPI Master from interrupt</title><link>https://devzone.nordicsemi.com/thread/71059?ContentTypeID=1</link><pubDate>Thu, 22 Dec 2016 20:07:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ef2060e-786b-48b2-91ae-9afdc0b41d27</guid><dc:creator>kmorris</dc:creator><description>&lt;p&gt;Thanks Ole -&lt;/p&gt;
&lt;p&gt;I figured it out. I was working from the example code and while it used the callback, it was also still using the the WFE loops.
I&amp;#39;ve made it all non-blocking now and things are working.
Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPI Master from interrupt</title><link>https://devzone.nordicsemi.com/thread/71058?ContentTypeID=1</link><pubDate>Thu, 22 Dec 2016 10:03:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20ff8a7a-1a19-4f31-82bf-ef98bac6feea</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;I assume you use spi driver in non-blocking mode as you talk about a callback function.&lt;/p&gt;
&lt;p&gt;When you say that you don&amp;#39;t hit the assert handler do you mean the app_error_fault_handler? This should be hit if there is an error condition, and it will reset the chip if DEBUG is defined. If DEBUG is not defined the code will stop inside app_error_save_and_stop.&lt;/p&gt;
&lt;p&gt;You should be able to call nrf_drv_spi_transfer function inside an interrupt. Could you update the question with code showing the interrupt where you call this function?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>