串口通信协议RS232

串口引脚定义及协议说明

常用的协议类型

  • ASCII 协议,又称自由口
  • Modbus 协议

基于自定义协议的通信(发送和接收都使用16进制进行),首先自定义一个通信协议。

使用RS232进行通信,设定如下:

波特率:9600;
数据位:8;
停止位:1;
奇偶校验:无;
通信协议内容:

寄存器1 置1 执行 功能1 地址 0b;
寄存器2 置1 执行 功能2 地址 1b;
crc校验: 将数据+地址等通过与或等操作生成的一个值(一般自定义的都会进行校验);
开始位:01;
结束位: 05;
地址位:0a(根据不同寄存器决定);
结果位:0e ( 成功0e,失败00);

发送例子:执行功能1。

01 0b 01 00 00 00 00 00 00 00 06 0e 05
解析:

01是开始位,0b是对应寄存器1的地址,数据长度是8,没有数据的置00,06是crc校验生成值,0e是结果位,05 是结束位。

返回成功:

01 0b 01 00 00 00 00 00 00 00 06 0e 05
返回失败:

01 0b 01 00 00 00 00 00 00 00 07 00 05
自定义的一个最简单的一个自定义协议,通信流程如下:

上位机发送数据
下位机接收到数据
下位机做crc校验,如果失败,那么不做反应。
下位机crc校验成功,执行功能。并反馈结果。
上位机接收到数据,做crc校验,如果成功,认为数据正确。否则认为数据错误,执行失败。
完成通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值