Hello all, I am starting an at home project and I am attempting to get the Arduino UNO to function as an SPI slave for a Beaglebone Black.
Setup: The code I found for the Arduino was an example from online with only very minor debugging changes made, along with a change to the UART’s baud rate. Whenever an SPI transaction is complete, I print a message through the UART saying “SPI” with the serial print function. SPI transactions are being completed and “SPI” is being printed out to the screen whenever my BBB sends the data out.
Problem Statement: Although SPI transactions are being completed, the Arduino never prints out the received data from the Beaglebone Black. Additionally, the Beaglebone Black is tasked with printing the SPI data being transferred to the Arduino to the screen, which it does (but the data comes back more or less consistently incorrect - no 255s or 0s, just values in between).
Some Debugging I Have Tried:
(1) Added the serial print command to print out message “SPI” whenever SPI transactions are complete within the ISR - message successfully prints upon transaction completion.
(2) Performed an SPI loopback test to make sure SPI was succesfully set up on the Beaglebone Black - MOSI and MISO pins were shorted and the correct information was sent out/received by the Beaglebone Black!
I cannot seem to nail this problem down, any assistance that you can provide is more than welcome, thanks! Code for the Arduino and the Beaglebone are both provided in the text files below, thank you!
ArduinoSlave.txt (1.3 KB)
BeagleBone Master.txt (250 Bytes)