一个串口通讯问题请教

go2us 2004-01-30 05:03:17
我的数据帧格式如下:帧头(1byte),控制字(1byte),数据区长度(2byte),数据区crc校验(2byte),数据区(最大64byte),帧尾(1byte)。
其中,数据区的长度不是固定的,最大不超过64字节,根据需要填入。在收到数据帧后,根据数据区长度(比如,数据区长度指示,数据区有32字节),来判断究竟哪些是数据。
现在问题是,如果数据帧中的数据区长度这两个字节发生错误,本来应该是32字节,变成了40字节,该怎么处理?
谢谢
...全文
18 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧螺春的马甲 2004-01-30
  • 打赏
  • 举报
回复
因为数据长度only max 64 bytes,
建议1 将所有数据固定64 bytes ,填充\a等等,抛弃length.
2 用xmodem算了
3 用GDB机制,用帧尾字符,抛弃length.
4 再有就double length字符,垃圾了
哈哈
vocanicy 2004-01-30
  • 打赏
  • 举报
回复
判断是否为合法帧
1、最后字节是否为帧尾
2、校验是否正确

如果非法帧,只有丢弃

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧