急!请教下关于RS485串口通信的问题。

1220csdn 2013-01-31 09:31:58
简单描述一下手头的任务吧,这个项目需要的是通过一个485串口接收来自几个不同设备(PLC等)的数据信息,已知这些设备的通信协议不相同,数据包长度也不同,如何完整的识别出所收到的这些信息并且判断出数据包是否完整?请指教
...全文
50 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zodiac1111 2013-01-31
  • 打赏
  • 举报
回复
有多种协议,每个协议都有协议头,协议头中包含后续长度(如modbus) while(接收一个字节,保存到一个数组){ if(这个数组内容是一个/其中某个完整的协议头){ 取出长度部分,备用. 跳出. }else{ if(数组满了){ FIFO }else{ 继续 } } } 找个地方放接下来接收到的已知长度的字节. 小心相互干扰.如果几种设备的数据相互有交织,那可能就.....
1220csdn 2013-01-31
  • 打赏
  • 举报
回复
引用 楼主 happyDSQ 的回复:
本帖最后由 happyDSQ 于 2013-01-31 09:33:54 编辑 简单描述一下手头的任务吧,这个项目需要的是通过一个485串口接收来自几个不同设备(PLC等)的数据信息,已知这些设备的通信协议不相同,数据包长度也不同,如何完整的识别出所收到的这些信息并且判断出数据包是否完整?请指教 ……
谢谢,之前用的方案与您的建议类似,是用协议头和协议尾判断。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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