CH32V103基础教程50-SPI-全双工通信,软件控制NSS模式 - RISC-V MCU技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

mushenmu 关注 私信
[资料]

CH32V103基础教程50-SPI-全双工通信,软件控制NSS模式

本章教程主要在SPI双线全双工模式下进行主从收发实验,并采用软件控制NSS方式。
1、SPI简介及相关函数介绍
关于SPI主从模式下的全双工发送和接收数据,其软件配置过程如下:
1、设置SPI控制寄存器1(SPIx_CTLR1)位6 SPE位置1,启用SPI;
2、在SPI数据寄存器(SPIx_DATAR)中写入第一个要发送的数据,此操作会清除SPI状态寄存器(SPI_SR)位1 TXE标志;
3、当SPI状态寄存器(SPI_SR)位1 TXE标志为1(表示发送缓冲区为空),写入第二个要发送的数据;当SPI状态寄存器(SPI_SR)位0 RXNE标志为1(表示接收缓冲区非空),读SPI数据寄存器(SPIx_DATAR)中的数据并同时清除RXNE标志位。重复上述操作,发送后续数据并同时接收后续数据(n-1个);
4、等待SPI状态寄存器(SPI_SR)位0 RXNE标志为1(表示接收缓冲区非空),接收最后一个数据;
5、等待SPI状态寄存器(SPI_SR)位1 TXE标志位为1,在位7BSY标志位置0(SPI不在通讯)后关闭SPI模块。

更多回帖

×
发帖