SPI全双工传输数据

2022-05-11 08:27:51 浏览数 (2)

SPI可以全双工传输数据,SPI进行数据传输有主机和从机,主机有片选信号,时钟,数据发送,数据接收。从机根据主机的时钟和片选发送和接收数据。这种接口在发送一个数据的同时必须也接收一个数据,因此发送和接收数据并不像串口可以使用空闲中断那样随意。在接收不定长数据的时候不是很方便。如果想使用SPI进行全双工高速传输,那就必须要知道要发送和接收的数据数量。

可以采用以下这样的办法,SPI一直不停的进行数据传输,每次发送100字节。主机发送

0xA1(有效数据帧头,一个字节) 数据长度(两个字节) 0x00(97个字节)

0xA2(无效数据帧头,一个字节) 0x00(99个字节)。 从机发送

0xA3(有效数据帧头,一个字节) 数据长度(两个字节) 0x00(97个字节)

0xA4(无效数据帧头,一个字节) 0x00(99个字节)。

这样不停传输,最多损失100个字节(这个协议只是举个例子,可根据使用者要求自行更改),对于需要长时间持续双工通信来说可以提高传输效率。

0 人点赞