双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

========= 串口通讯协议的问题 =========

愚者只看星不看答案 愚者只看星不看答案 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我开发软件用于接收串口发送来的数据。现在有这样一个问题

假设协议约定

00 00 00 04 0f 0e ff ff

前面4个字节表示整个数据有多长 这里04 表示后面有 4 个字节
最后两字节 ff ff 为crc16

如果传输有误,04 变成了 05
那么认为没有接收完成, 等待下一个数据到来,假设接下来收到另一条正确的

00 00 00 04 0f 0e ff ff

此时认为这样的数据是一个完整的

00 00 00 05(误传的) 0f 0e ff ff 00

此时crc16校验失败,放弃此条数据,那么问题是后面接下来的所有数据都错了,怎么解决?

此种情况下应该关闭串口再打开吗?还有什么更好的方法?多谢!
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部