用DMA方式从串行USART口连续接收数据,怎样确认收到一个完整的包讨论

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/euxnijuoh/article/details/82922363
讨论地址链接:http://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=572403&extra=page%3D&page=1

问题讨论部分截取:

其实很简单的,发送的包分成两种,比如包A和包B,其中包B是你要发送的数据,包A只是包B的字节数目,而且包A的长度是固定的。每次都首先发送包A告之接收方包B的长度,然后再发送包B,如此一直下去就可以了。这是用DMA发送和接收不定长包的最好方式。其它的方法都太过复杂,操作性不强。
 
 你说的是一个完整的串口通信协议格式,原理是一样的,
 自定义的串口通信协议一般都是这样:
 帧头  +数据大小+ 数据内容+校验码+结束符
 这种格式是串口通信最稳定的方法之一。

猜你喜欢

转载自blog.csdn.net/euxnijuoh/article/details/82922363