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

Sending a single Byte over SPI

I'm working in SDK 14.2, and trying to send a single byte over SPI between two NRF5 boards using the SPI peripheral examples (1 master and 1 slave). However, SPI always seems to want to send at least 2 bytes at a time. 

I see that the errata acknowledges this issue and mentions the following work-around

My question is, as a newbie, how do I use this work-around properly? 

The workaround function has input 3 parameters:

1) The SPIM instance*

2) An unused PPI channel**

3) An unused GPIOTE channel***


*The SPIM instance should just be "spi" as its defined in the main.c of the SPI master example, right?

**I know there are 16 PPI channels, can I just say "16" to use the last one? Do I need to assign/initialize an unused PPI channel somewhere else? 

***Same for GPIOTE, I know there are 8 channels, can I just say "8" as the parameter? If not, how do I assign/initialize an unused GPIOTE channel?

Therefore, can I just copy the errata function code into my main.c and run the following line after my initialization functions?

setup_workaround_for_ftpan_58(spi, 16, 8);


What am I missing? Thank you!

Scott

Parents Reply Children
No Data
Related