串行外设接口(SPI)是一个高速同步的串行输入/输出口。SPI的通信速率和通信数据长度都是可编程的,SPI通常用于DSP和外部外设及其他处理器之间的通信。主要用于显示驱动器、ADC及日历时钟等器件间接口,也可采用主/从模式实现多处理器间的通信。
本文示例采用了两块TMS320F28xx开发板,将四个外部引脚SPISOMI、SPISIMO、SPISTE、SPICLK一一对接,主要实现两个DSP间的通信。
示例代码基于TMS320F28xx开发包中的spi_loopback修改而来。我将spi_loopback工程复制并修改成两个工程:spi_master和spi_slave,分别作为SPI主机和从机。
首先是main(),主机和从机的main函数基本一致,初始化的过程与原spi_loopback工程一样,我只是将主要的数据处理过程改为调用函数spi_task(),以方便查看代码。