非固定长度的数据传输

[复制链接]
2735|27
chenjunt 发表于 2015-1-5 19:40 | 显示全部楼层
自定义协议就好了。
morrisk 发表于 2015-1-5 19:40 | 显示全部楼层
做简单的异或校验呗
houcs 发表于 2015-1-5 19:41 | 显示全部楼层
实现过了。。自己定义一个协议就好,然后在PC端用ringbuff接收,然后通过状态机 分离有效数据就好。
supernan 发表于 2015-1-5 19:42 | 显示全部楼层
如果能够允许极少量的丢高就直接采用帧头+帧类型+数据+帧计数+CRC校验的方式,但不能接受丢包的话就麻烦点了。简单的方式,重要的数据发送多次,这样丢包概率就非常小了;复杂点就自己设计ACK指令回报确认的方式。
栩栩如生 发表于 2015-1-5 19:42 | 显示全部楼层
有很多现成的协议可以遵守,比如ModBus
 楼主| liuzaiy 发表于 2015-1-5 19:43 | 显示全部楼层
嗯,了解了,多谢大家
 楼主| liuzaiy 发表于 2015-1-5 19:43 | 显示全部楼层
那就结贴了哈
hnkf118 发表于 2015-1-6 16:07 | 显示全部楼层
其实 很简单。 非固定长度的数据包通讯,大多是利用数据字节之间的间隔来进行识别数据帧的,比如MODBUS协议是规定 数据帧之间3.5倍波特率字节间隔时间,每个字节数据中间最大不能超过1.5倍字节间隔时间。

你参考下。 如果可能你就用标准的MODBUS协议最好,而且有相应的调试工具,方便排除问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部