编辑: 我不是阿L | 2018-07-26 |
4、修改内部寄存器(通讯速率)命令【把9600(代码 03)改为 19200(代码 04) 】 发送:01
06 00
02 00
04 29 C9
01 06
00 02
00 04
29 C9 系统地址 功能码 寄存器地址 修改的新值 软件自动产生的 CRC16 校验位 回答:F8 3F 3F 6A FF (因速率已改变,所以回答的数据是无效的) 验证是否成功(把主机的串口波特率改为
19200 后) 发送:01
03 00
02 00
01 25 CA
01 03
00 02
00 01
25 CA 系统地址 功能码 寄存器地址 寄存器数量 软件自动产生的 CRC16 校验位 回答:01
03 02
00 04 B9
87 01
03 02
00 04 B9
87 系统地址 功能码 数据段的字节数量 数据段数据 CRC16 校验位 数据段数据为 0004H =
4 表示系统新速率是 19200(04) 协议测试:假定变送器地址 0x01,C1 C2 为CRC16 的高低字节,以下数据均为
16 进制数
1、 读输入寄存器:功能码 0x04 --- 读取实时数据: 发送:01
04 00
01 00
02 20 0B 返回:01
04 04 S1 S2 X1 X2 C1 C2 S1 S2 为放大
10 倍的实时风速值 X1 X2 为实时风向代表值
2、--- 读取通讯速率命令: 发送:01
03 00
02 00
01 25 CA 返回:01
03 02
00 03 F8
45 (0003H =
3 表示系统速率是 9600)
3、修改内部寄存器:功能码 0x06 --- 修改系统地址命令(把01 地址改为 02) 发送:01
06 00
01 00
02 59 CB 返回:01
06 02
00 02
39 49 (表示修改成功) --- 修改通讯速率命令【把9600(代码 03)改为 19200(代码 04) 】 发送:01
06 00
02 00
04 29 C9 返回:3F 3F 3F C4 E1 (因速率已改变,所以回答的数据是无效的) 把主机的串口波特率改为
19200 后, 读取通讯速率 发送:01
03 00
02 00
01 25 CA 回答:01
03 02
00 04 B9
87 (04 代表通讯波特率 19200)