BF533 SPI Slave功能在手册上说的很零散,很容易设置错误导致无法工作,以下分软、硬件分别说明。
硬件连接示意图:
主机 从机
----------- -----------
| |
SCLK--- ... --- SCK (主机提供的时钟信号)
| |
MOSI--- ---> --- MOSI (主机向从机发送数据)
| |
MISO--- <--- --- MISO (从机向主机发送数据)
| |
SS --- ---> --- SSPI (拉低有效)
| |
----------- -----------
实现从发主收功能的设置(时钟还是主机提供):
主机软件设置:
1、片选从机
2、设置 SPI_BAUD:分频值
3、设置 SPI_CTL:SPE|MSTR|CPHA
4、读取 pSPI_RDBR 即可。
从机软件设置:
1、设置 SPI_BAUD:0值 (关闭时钟)
2、设置 SPI_CTL: SPE|CPHA|EMISO|PSSE (后面两项很重要,否则,数据无法发送)
3、向 pSPI_TDBR 写入待发送数据,然后等待发送完成标志(SPI_STAT 的 TXS位)。