<?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>Ready interrupt in SPI RAW master (Serialization)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/12850/ready-interrupt-in-spi-raw-master-serialization</link><description>Hi, 
 I would like to use SPI raw master library (used on application chip in serialization examples) in my own application. 
 First, to understand well SPI raw implementation and verify signals I set up this configuration : 
 
 1 nrf51422 (nRF51</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 May 2016 13:49:55 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/12850/ready-interrupt-in-spi-raw-master-serialization" /><item><title>RE: Ready interrupt in SPI RAW master (Serialization)</title><link>https://devzone.nordicsemi.com/thread/48870?ContentTypeID=1</link><pubDate>Fri, 27 May 2016 13:49:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:644a276f-fc98-4c7a-9b14-ecb778176de4</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;Sorry for the late answer. It does not make sense that you are not going into the GPIOTE_IRQHandler before after the SPI transaction is done. The SPI driver is set up in non-blocking mode with priority level APP_PRIORITY_LOW, so between each byte it should go to another interrupt or to main context. If GPIOTE interrupt is APP_PRIORITY_HIGH the SPI should not run before the GPIOTE interrupt if a GPIOTE interrupt is pending, which it should be from the moment READY signal change level.&lt;/p&gt;
&lt;p&gt;Have you figured out what was wrong? I cannot help you with no further information.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Ready interrupt in SPI RAW master (Serialization)</title><link>https://devzone.nordicsemi.com/thread/48869?ContentTypeID=1</link><pubDate>Tue, 12 Apr 2016 15:09:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ebc5b5a-ad01-433a-a30f-9c179c97000d</guid><dc:creator>yc38</dc:creator><description>&lt;p&gt;I agree with your remarks and effectively, SWI3 interrupt (use in SPI RAW driver) have higher priority level than GPIOTE.
I already changed GPIOTE_CONFIG_IRQ_PRIORITY to HIGH.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But I would like to understand why using the default code provided by Nordic seems to cause a different operation from what is presented in &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk51.v10.0.0/ser_phy_spi_page.html?resultof=%22%73%70%69%22%20%22%72%61%77%22%20"&gt;SDK documentation&lt;/a&gt;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sorry about your questions but I can&amp;#39;t give you much more info because it&amp;#39;s confidential (professional project).
I can just tell you that, for the purposes of application, nRF51 must manage the BLE and acts as the master while the 2nd microcontroller is seen as a peripheral (slave).
Use SPI RAW master on nRF51 would be very convenient for exchanges coordination  between the two microcontrollers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Ready interrupt in SPI RAW master (Serialization)</title><link>https://devzone.nordicsemi.com/thread/48868?ContentTypeID=1</link><pubDate>Thu, 31 Mar 2016 12:20:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9cefda0-5b0b-47b0-8881-5780c22393a7</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;Looks like the GPIOTE interrupt is delayed. Both GPIOTE and SPI use interrupt level APP_IRQ_PRIORITY_LOW. You may be doing something in another interrupt (event handler) that is delaying the GPIOTE interrupt? Try changing GPIOTE_CONFIG_IRQ_PRIORITY in nrf_drv_config.h to APP_PRIORITY_HIGH.&lt;/p&gt;
&lt;p&gt;Using nRF as master and another MCU as slave (connectivity chip) is not exactly what the serialization is meant for, it should be the other way around. What is the other MCU and how is the SoftDevice (for connectivity) implemented there. This is not related to your problem, I am just curious.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>