2019-11-27(一种转义协议制定方法)

B. 协议约定

(1) 帧头和帧尾分别固定为 0xFF 和 0xFE 表示;当遇到 0xFF 表示帧头,遇到 0xFE 表示帧 尾;从 0xFF 到 0xFE 的数据内容表示一帧数据;

(2) 帧头和帧尾用了 0xFF 和 0xFE 表示,其中数据长度、指令、数据和异或校验可能出 现 0xFF 与 0xFE,所以需要使用 0xFD 进行换码;

(3) 串口发送数据时,遇到 0xFF、0xFE 和 0xFD 时换码方式:

0xFF -> 0x7F 0xFD

0xFE -> 0x7E 0xFD

0xFD -> 0x7D 0xFD

示例:

当设备MCU需要发送数据帧 FF 00 05 00 FF FE FD F9 FE 时,串口发送时候需要转换转换 为 FF 00 05 00 7F FD 7E FD 7D FD F9 FE 发送;


注意:换码是在协议打包完整后换码的,换码的内容为数据长度、指令、数据和异 或校验,帧头和帧尾不需要换码。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 电力系统是一个综合化的系统,作为一个熟练的电工,对于通信有着一定的认识。否则很多问题,我们将无从下手。首先我们从广...
    洪城小电工阅读 118,590评论 8 34
  • UDS-CAN网络层传输协议 CAN传输数据长度最大8个字节; 单帧发送: 原始数据:27 09 SF(Singl...
    葬歌倾城阅读 5,070评论 0 3
  • 数据链路层是网络模型的第二层,涉及两台机器实现可靠有效地完整信息块(称为帧)通信的一些算法。通信线路偶尔会出错,而...
    Taeyeon37阅读 1,764评论 0 1
  • 第二章 物理层 频分复用:频分复用的用户在同样的时间占用不同的带宽资源(频率带宽) 时分复用:时分复用的用户在不同...
    PramaWells阅读 3,869评论 1 3
  • 一部《天水通史》在手,感觉份量很足,厚重深沉。读之,为其丰富翔实的史料所吸引,更为其磅礴的气势和精辟的著述所折服。...
    吾尕阅读 514评论 0 4