- 打卡等级:偶尔看看I
- 打卡总天数:19
- 最近打卡:2025-08-11 01:46:15
已绑定手机
中级会员
- 积分
- 276
|
发表于 2025-7-28 01:44:21
|
显示全部楼层
交作业,串口2 通信 演示modbus 通信, 软件 照抄 梁工,演示 modbus 写多寄存器和 读多寄存器 ,在写多寄存器的时候 ,把modbus接收寄存器的第一个数据 用数码管 显示出来。 从机地址 0x10 , 0x10 为写多寄存器命令 0x03 为读多寄存器命令
后面为格式介绍 ,电脑发送命令格式 和 从机返回数据 格式
/********************* modbus协议 *************************/
/***************************************************************************
写多寄存器
数据: 地址 功能码 寄存地址 寄存器个数 写入字节数 写入数据 CRC16
偏移: 0 1 2 3 4 5 6 7~ 最后2字节
字节: 1 byte 1 byte 2 byte 2 byte 1byte 2*n byte 2 byte
addr 0x10 xxxx xxxx xx xx....xx xxxx
返回
数据: 地址 功能码 寄存地址 寄存器个数 CRC16
偏移: 0 1 2 3 4 5 6 7
字节: 1 byte 1 byte 2 byte 2 byte 2 byte
addr 0x10 xxxx xxxx xxxx
读多寄存器-
数据:站号(地址) 功能码 寄存地址 寄存器个数 CRC16
偏移: 0 1 2 3 4 5 6 7
字节: 1 byte 1 byte 2 byte 2 byte 2 byte
addr 0x03 xxxx xxxx xxxx
返回
数据:站号(地址) 功能码 读出字节数 读出数据 CRC16
偏移: 0 1 2 3~ 最后2字节
字节: 1 byte 1 byte 1byte 2*n byte 2 byte
addr 0x03 xx xx....xx xxxx
返回错误代码
数据:站号(地址) 错误码 CRC16
偏移: 0 1 最后2字节
字节: 1 byte 1 byte 2 byte
addr 0x93 xxxx
***************************************************************************/ |
|