SPI可以全双工传输数据,SPI进行数据传输有主机和从机,主机有片选信号,时钟,数据发送,数据接收。从机根据主机的时钟和片选发送和接收数据。这种接口在发送一个数据的同时必须也接收一个数据,因此发送和接收数据并不像串口可以使用空闲中断那样随意。在接收不定长数据的时候不是很方便。如果想使用SPI进行全双工高速传输,那就必须要知道要发送和接收的数据数量。
可以采用以下这样的办法,SPI一直不停的进行数据传输,每次发送100字节。主机发送
0xA1(有效数据帧头,一个字节)+数据长度(两个字节)+0x00(97个字节)
0xA2(无效数据帧头,一个字节)+0x00(99个字节)。 从机发送
0xA3(有效数据帧头,一个字节)+数据长度(两个字节)+0x00(97个字节)
0xA4(无效数据帧头,一个字节)+0x00(99个字节)。
这样不停传输,最多损失100个字节(这个协议只是举个例子,可根据使用者要求自行更改),对于需要长时间持续双工通信来说可以提高传输效率。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有