串口数据获取-添加数据起始位,结束位

由于串口传输的时间问题,之前的处理方法是:发送时,添加起始标记和结束标记。如 68 length ........... checksum 16 这样将数据装包,如果检测到有起始位和结束位,那么将数据提取出来,否则,说明数据传输不完整,不处理。

这样子,很合理,但是有问题,就是68 16这些,如果也刚刚好在数据里出现,也刚刚好符合规律,虽然概率很低很低很低,但也还是有可能的。

我个人觉得可以接受这么低概率的事件。

回想通信原理时,它是使用一段比如5个1,‘11111’作为标记,如果数据段出现这种情况,如何改变。忘了呃。查书。。应该是,对于数据段查到连续的4个1,则加一个0。比如,原来的11111变成111101,不是标记。而原来的111101,变成1111001。到了数据段时,检测到有4个连续1后,将后面的一个0去掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值