聆风 发表于 2012-4-29 18:00

UART数据包解释问题

想用UART(RS232)与PC通讯。 每个数据包不定长。每包包头0xFF. 0X55.
请问如何做包的解释,如何避免数据包中出现0xFF. 0X55而影响数据包的完整性? 或如果第一个包是残缺的数据包,如果处理?

sjl2006 发表于 2012-5-2 15:38

如果流中有包头字节,发的时候加个特定PAD在后面,收的时候把PAD去掉。这是最简单的方法。数据包依然是完整的。要解决残缺包,需要指定包尾编码。

haoyuejushi 发表于 2012-5-4 11:40

或如果第一个包是残缺的数据包,如果处理?
丢掉重传。

airwill 发表于 2012-5-4 12:32

残缺的数据包, 当然是丢掉咯.
如果要考虑重传的问题, 得另外的机制来实现了.

nextkey 发表于 2012-5-6 08:12

数据包的协议定义、解析用状态机先画画,会理解更深刻

ningling_21 发表于 2012-5-8 12:47

包头增加帧长,用包头和帧长同时校验帧的完整与否...
页: [1]
查看完整版本: UART数据包解释问题