• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

串口通讯协议的解析方法

奔跑的黑蚂蚁 2018-08-22 浏览量:1451
使用自定义的通讯协议,数据帧格式是:帧长+模式+指令+数据+校验码。请问这样的数据格式在串口接收和解析时,该怎么处理比较合适呢?什么样的通讯协议比价好呢(前提是只能使用串口)
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 关于自定义协议的话,楼主可以参考这里:

    IAP15W413AS工业自动化控制之【18自定义协议通信】

    //www.icxbk.com/community/thread-98201-1-1.html

    (出处: ICKEY BBS)

    另外在这个系列教程贴中,也有好几个实战例程,后续会陆续更新更多……楼主也可以参考MODBUS-RTU协议来自定义协议……


    • 发布于 2018-08-22
    • 举报
    • 评论 1
    • 0
    • 0
奔跑的黑蚂蚁 回复了 SingleYork:感谢大佬的回答,已经关注帖子了,期待更新。对MODBUS不熟悉啊 回复

其他答案 数量:9
  • 串口传输的时候都有特定的数据长度的,如果你自己设置帧长的话,先接受第一位计算出帧长,之后用数组存储接收到的剩下的数据,之后一位一位的进行判断就可以了
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义一帧接收时间,然后再通过算法解析这帧数据
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义一个数组来缓存数据 然后判断数组里的内容
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 有一定的帧长度的吧,接收了这个长度的数据后,就进行数据处理了
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种指令协议类似MODBUS协议,都是从机地址+命令码+数据长度+数据+校验,其实最重要的是校验,主机一旦收到校验错误的数据帧,立刻丢弃。

    • 发布于2018-08-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 接收的时候先读出帧长,然后从第二个字节开始取,取出来之后进行校验,与校验码进行对比,然后读出功能指令数据。
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口协议都会有CRC校验,只要校验通过就是正常的数据帧
    • 发布于2018-09-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种协议可以参考modbus,modbus的协议就是按照你说的这种方式设计的
    • 发布于2018-09-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口的协议有很多种,有标准的还有自己定义的,你可以参考楼上推荐的modbus,这个是标准的协议
    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

串口通讯协议的解析方法