- Purpose
This example uses Serial Peripheral Interface (SPI) of one EK board in slave mode to communicate with another EK board's SPI in master mode.
- Requirements
This package can be used with two SAM evaluation kits boards. Please connect the SPI pins from one board to another.
- SAM3X-Arduino – SAM3X-Arduino
- VCC – VCC
- NPCS0(PA28) – NPCS0(PA28)
- MISO(PA25) – MISO(PA25)
- MOSI(PA26) – MOSI(PA26)
- SPCK(PA27) – SPCK(PA27)
GND – GND
- Descriptions
This example shows control of the SPI, and how to configure and transfer data with SPI. By default, example runs in SPI slave mode, waiting SPI slave & UART inputs.
The code can be roughly broken down as follows:
-
't' will start SPI transfer test.
-
Configure SPI as master, and set up SPI clock.
-
Send 4-byte CMD_TEST to indicate the start of test.
-
Send several 64-byte blocks, and after transmitting the next block, the content of the last block is returned and checked.
-
Send CMD_STATUS command and wait for the status reports from slave.
-
Send CMD_END command to indicate the end of test.
-
Setup SPI clock for master.
- Usage
- Compile the application.
- Connect the UART port of the evaluation board to the computer and open it in a terminal.
- Settings: 115200 bauds, 8 bits, 1 stop bit, no parity, no flow control.
- Download the program into the evaluation board and run it.
- Upon startup, the application will output the following line on the terminal:
-- Spi Example --
-- xxxxxx-xx
-- Compiled: xxx xx xxxx xx:xx:xx --
- The following traces detail operations on the SPI example, displaying success or error messages depending on the results of the commands.