<?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>nRF52832 SPI Slave Interrupt handler</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/60680/nrf52832-spi-slave-interrupt-handler</link><description>Hello, 
 I&amp;#39;m trying to setup interrupt routines in SPIS1 peripheral. 
 I have a void IRQ function 
 
 But it seems like it never gets called 
 
 my init function 
 
 some static functions 
 
 This piece of code works fine without interrupt. But now I</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 25 Apr 2020 14:58:04 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/60680/nrf52832-spi-slave-interrupt-handler" /><item><title>RE: nRF52832 SPI Slave Interrupt handler</title><link>https://devzone.nordicsemi.com/thread/246622?ContentTypeID=1</link><pubDate>Sat, 25 Apr 2020 14:58:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df7d2b00-5100-491e-8c6c-71767e06cb87</guid><dc:creator>George555</dc:creator><description>&lt;p&gt;I think I found the solution. It seems to be working fine now.&lt;/p&gt;
&lt;p&gt;I had to trigger the TASKS_ACQUIRE after the peripheral is enabled.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void spis_init(void)
{
    spis_pins_init();

    spis_set_tx_buffer(NULL, 0);
    spis_set_rx_buffer(NULL, 0);

    spis_configure();

    spis_def_set(0xFF);
    spis_orc_set(0xFF);
    
    NRF_SPIS1-&amp;gt;EVENTS_END = 0x0UL;
    NRF_SPIS1-&amp;gt;EVENTS_ACQUIRED = 0x0UL;

    spis_shorts_enable(SPIS_SHORTS_END_ACQUIRE_Msk);
    
    spis_interrupt_enable(SPIS_INTENSET_ACQUIRED_Msk);
    spis_interrupt_enable(SPIS_INTENSET_END_Msk);
    
    NVIC_SetPriority(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn, 6);
    NVIC_ClearPendingIRQ(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn);
    NVIC_EnableIRQ(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn);

    NRF_SPIS1-&amp;gt;ENABLE = (SPIS_ENABLE_ENABLE_Enabled &amp;lt;&amp;lt; SPIS_ENABLE_ENABLE_Pos);
    
    NRF_SPIS1-&amp;gt;TASKS_ACQUIRE = true;
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>