Android

本文详细介绍了使用RS485接口的数码管温湿度传感器的通讯协议,包括Modbus_RTU协议的应用、保持寄存器和输入寄存器的分配、功能码的使用以及读写操作实例。
摘要由CSDN通过智能技术生成

数码管温湿度通讯协议

V0.3 2021.4

设备采用RS485通讯接口,默认串口参数配置:9600 8 N 1。协议遵循标准Modbus_RTU通信协议,主要用到03/06功能码读写保持寄存器、04功能码读取输入寄存器,以下将对通讯协议进行简单介绍。

寄存器分配如下:

1.保持寄存器

寄存器地址

内容

权限

功能码

备注

0X0000

Modbus地址

R/W

03/06

1-247,默认 1

0X0001

串口波特率

R/W

03/06

支持9600、14400、19200、38400、57600、115200。寄存器值=波特率/100 默认:96

保留

2.输入寄存器

寄存器地址

内容

权限

功能码

备注

0X0000

设备类型

R

04

厂家出厂测试用

0X0001

温度

R

04

实际值=寄存器值x0.1,单位:℃

0X0002

湿度

R

04

实际值=寄存器值x0.1,单位:RH%

保留

举例:

  1. 修改Modbus地址: 把地址为1的设备地址修改为2。

主机发送:01 06 00 00 00 02 08 0B

解释:

示例(HEX)

字节数

内容

解释

01

1

Modbus地址

当前01地址的设备

06

1

功能码

06功能码写入保持寄存器

0000

2

寄存器地址

写入0000寄存器

0002

2

数据

写入0002数值

08 0B

2

ModbusCRC16校验

校验

设备应答:01 06 00 00 00 02 08 0B

应答与主机相同,不做解释。

注意:修改完毕后请使用修改后的新地址与设备通信。

  1. 读取温度值:

主机发送:01 04 00 01 00 01 60 0A

解释:

示例(HEX)

字节数

内容

解释

01

1

Modbus地址

当前01地址的设备

04

1

功能码

04功能码读取输入寄存器

0001

2

寄存器起始地址

从1寄存器开始

0001

2

读取寄存器数量

读取1 个寄存器

600A

2

ModbusCRC16校验

校验

设备应答:01 04 02 01 D1 78 FC

解释:

示例(HEX)

字节数

内容

解释

01

1

Modbus地址

当前01地址的设备

04

1

功能码

04功能码读取输入寄存器

02

1

返回字节数

读1个寄存器,返回2个字节数据

01D1

2

第1个寄存器数值

0x01D1换算10进制465,实际数值46.5℃

78FC

2

ModbusCRC16校验

校验

注意:以上仅对传感器部分寄存器读写做出介绍,其他寄存器可根据以上介绍类推。其他回复内容请遵循Modbus_RTU通讯协议,具体协议请参考互联网。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

移动开发经验汇总

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值