This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SPIS ENDRX event not working

Hi, On the custom board I'm working on an nRF52832 uses the SPIS port with no CS signal (because of the HW connection with the master side of the bus). Since the internal hw semaphore implemented on the SPIS module, I have to toggle a local CS signal to end the reception and trigger the SPIS event handler. The way I'm trying to do it is by configuring an event on the SPIS END_RX (EVENTS_ENDRX) and a task on an output pin, so that when I've received the amount of data I'm expecting, I set the CS and I get the SPIS event handler executed.

I enable the ENDRX event with the following code: NRF_SPIS0->INTENSET |= SPIS_INTENSET_ENDRX_Msk;

The problem is that the ENDRX event doesn't seem to work. I've set the length of my SPIS buffer to 5, but I don't get anything on the EVENTS_ENDRX register (address 0x40003110, I'm using SPIS0) after several bytes received (while CS is constantly low).

Any idea why the ENDRX doesn't work?

Thanks, Luca

Related