发新帖我要提问
12
返回列表
打印
[STM32F1]

STM32F103C8T6的MODBUS-RTU通讯(485通讯)

[复制链接]
楼主: 我爱台妹mmd
手机看帖
扫描二维码
随时随地手机跟帖
21
我爱台妹mmd|  楼主 | 2024-1-31 23:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
寄存器地址就是主函数中的REG数组,地址0就是第1个数,这里的地址3就是第4个数0x07,而数量就是一次性要读出多少个数组。

使用特权

评论回复
22
我爱台妹mmd|  楼主 | 2024-1-31 23:04 | 只看该作者
读出之后发送端会显示如下图所示,04则是之前的设备地址,03是功能码,后面则是两位为一组,00 03 则表示寄存器地址是3,00 01则表示要读出的数量,最后面两位则是CRC校验码。

使用特权

评论回复
23
我爱台妹mmd|  楼主 | 2024-1-31 23:05 | 只看该作者
如果通讯成功,在下面的接收区则会接收到单片机发来的数据,如果没有接收到数据则要检查接线是否错误。

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

如果操作成功大家可以反复先读取再写入然后再次读取去验证数值是否已经被修改完成。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则