简单串口通信协议的实现

更新时间:2023-10-20 03:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配:

a,波特率:协议采用9600波特率, b,数据位:这是衡量通信中实际数据位的参数。数据为8位。 c,停止位:用于表示单个包的最后一位。值为2位。 d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。采用偶和奇校验,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。

AB FC XX XX CH BA 说明一下吧

第一个字节: AB 是协议开始字节,作为开始标记

第二个字节:FC 命令二,功能模块要操作的功能,比如,这个0 代表 要控制外设的开关,如果是 1 ,就是向串口返馈数据

第三第四字节: XX XX 数据,根据数据作操作,比如结合 第三个字节 FC,数据是 01 01 的话,那么 就是 第一继电器 开(第一个01 表示第一继电器 ,第二个01 表示状态 为开 00表示为关)。

第五字节:CH 校验和,这个字节作为校验,前面所有 字节相加 ,然后保留前8位,再加上 这个 校验字节,如果是 FF ,那么就是说,这命令接收到是正确的,如果不是FF,就是说明 这命发送途中可能受到干扰,这时 可向主机后馈一个 数据接收错误的信息,让主机重发。

第六字节:BA 结束字节,只是标示命令结速,

协议的实现大体就是这样

本文来源:https://www.bwwdw.com/article/74bf.html

Top