[STM32F1] STM32F103C8T6的MODBUS-RTU通讯(485通讯)

[复制链接]
2597|22
 楼主| 我爱台妹mmd 发表于 2024-1-31 23:04 | 显示全部楼层
寄存器地址就是主函数中的REG数组,地址0就是第1个数,这里的地址3就是第4个数0x07,而数量就是一次性要读出多少个数组。

8218665ba619309f37.png
 楼主| 我爱台妹mmd 发表于 2024-1-31 23:04 | 显示全部楼层
读出之后发送端会显示如下图所示,04则是之前的设备地址,03是功能码,后面则是两位为一组,00 03 则表示寄存器地址是3,00 01则表示要读出的数量,最后面两位则是CRC校验码。
 楼主| 我爱台妹mmd 发表于 2024-1-31 23:05 | 显示全部楼层
如果通讯成功,在下面的接收区则会接收到单片机发来的数据,如果没有接收到数据则要检查接线是否错误。

在上面的写寄存器区也是相同的操作,不过的是一次只能写入单个寄存器,同样如果写入成功则会接收到单片机发回的值。

如果操作成功大家可以反复先读取再写入然后再次读取去验证数值是否已经被修改完成。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部