这种情况下,我应该把这个帧视为无效么?

[复制链接]
2228|11
 楼主| xlsbz 发表于 2009-11-27 15:10 | 显示全部楼层 |阅读模式
假设接收到的帧正常情况下为20字节!

但是程序运行到了2012年的某一天,接收到了21个字节!并且这21个字节的前20个字节都是正确的(帧头帧尾校验都正确)!

请问:这种情况下,我应该把这个帧视为无效么?
arm_fan168 发表于 2009-11-27 15:59 | 显示全部楼层
这个,看你当时的心情吧。:)
chen3bing 发表于 2009-11-27 16:11 | 显示全部楼层
到2012年怎么就21个字节了呢?
chunyang 发表于 2009-11-27 16:56 | 显示全部楼层
帧结构要合理可以不理会长度,这在无线通讯等高干扰应用的协议编制中常见,但要求这时的帧结构必需给出帧长数据并进行严格的校验如CRC等,通讯双方还应有双向会话机制,以确认通讯交互的成功。
 楼主| xlsbz 发表于 2009-11-27 17:34 | 显示全部楼层
帧结构要合理可以不理会长度,这在无线通讯等高干扰应用的协议编制中常见,但要求这时的帧结构必需给出帧长数据并进行严格的校验如CRC等,通讯双方还应有双向会话机制,以确认通讯交互的成功。 ...
chunyang 发表于 2009-11-27 16:56


chunyang的意思是最保险的做法就是把它抛弃
是这个意思吧?
icecut 发表于 2009-11-27 17:39 | 显示全部楼层
扔了吧.
chunyang 发表于 2009-11-27 18:05 | 显示全部楼层
未必,关键是协议的机制。
 楼主| xlsbz 发表于 2009-11-27 18:58 | 显示全部楼层
未必,关键是协议的机制。
chunyang 发表于 2009-11-27 18:05


您的意思是不同的协议机制下 要有不同的处理方式?

请问在什么机制下,要抛弃? 在什么机制下要保留?
chunyang 发表于 2009-11-27 20:58 | 显示全部楼层
协议举例:引导头+数据长度+数据段+校验,在这样的数据帧结构前面或后面加任意长字符通讯不受影响,类似的引导头+起始码+数据段+校验+结束码也是一种办法。
dld2 发表于 2009-11-28 15:16 | 显示全部楼层
理所当然有效。

符合帧结构定义的就是有效帧。
xjavr 发表于 2009-11-28 18:05 | 显示全部楼层
您的意思是不同的协议机制下 要有不同的处理方式?

请问在什么机制下,要抛弃? 在什么机制下要保留?
xlsbz 发表于 2009-11-27 18:58


MODBUS 的协议就应该抛弃...

评分

参与人数 1威望 +1 收起 理由
xlsbz + 1

查看全部评分

chen3bing 发表于 2009-11-28 18:45 | 显示全部楼层
帧头帧尾校验都正确,这里肯定是包括第21个字节而言的。
那么肯定长度不是固定的,那就应该接受。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

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