2019-08-17 07:29发布
EDA3rd 发表于 2017-6-11 13:28 同意楼上,帧头+命令+数据+帧尾+校验和,这是标准做法。 enan提出的超时判断帧结束,个人感觉不如帧尾+ ...
enan 发表于 2017-6-11 13:07 是滴,当收到第一个字节打开一个定时器,之后每次收到一个字节重新手动装填定时器,如果发生中断了就是表 ...
EDA3rd 发表于 2017-6-11 13:37 如果担心长度过长,永久失败,可以增加长度检查机制。而且长数据应当拆开成帧
yinqirui9 发表于 2017-6-11 13:40 软件定时和硬件定时器 原子教程里有讲吗( ⊙ o ⊙ )…… 表示不知道怎么区分
最多设置5个标签!
如果通讯中产生一次错误,可能会导致永久性的通讯失败,比如数据中有与首尾帧一致的数据,然后导致的是每次接收数据的帧错位,错位后协议数据长度字段如果是个很大的数,导致接收方死等,等回来了还是个错的,而且又错位了。
串口数据一般是连续发送的,用时间来判断怎么不能保障完整性?
一般上一个字节与下一个字节间隔不会超过5ms,超过了肯定是出现问题了,完整性来说我并没有说数据校验可以去掉。
软件定时和硬件定时器 原子教程里有讲吗( ⊙ o ⊙ )…… 表示不知道怎么区分
老哥,要下次再来个数据跟首尾帧一样的列?
串口收发个数而已,如果本身我就只是发个浮点数,加上这么多什么首尾帧、长度、冗余的东西来提高鲁棒性,这些个数据传输也得耗费时间,浪费MCU时间,为什么不用一个定时器搞定它
原子教程里面没有,软件定时器是自己写的,网上有,很简单的东西
一周热门 更多>