关于modbus的一些学习经验。

关于modbus rtu的注意点
1.首先modbus 有很多分类,用于不同的连接形式。rtu就是基于485硬件连接的升级版。如果是rtu,crc校验码需要低位在前,高位在后。
2.关于crc校验,存在很多形式,具体可以打开http://www.ip33.com/crc.html,中间的参数模型涵盖了不同形式的crc校验。注意crc的高低位顺序。crc的本质是异或运算的除法,其中stm32自带了crc32校验,还没有用过,但是好像不太准。
3.我将使用modbus协议与程控电源通讯,目前存在不正常响应。比如在这里插入图片描述换成二进制后,会把最高有效位换成1返回回来,这是指的功能码的不正常。
4.地址0为广播地址,无所谓哪个从机,都能接收。功能域码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据
5
在这里插入图片描述
这里是rtu和tcp的标准格式由主机发出。

猜你喜欢

转载自blog.csdn.net/jwgdhuwdhg/article/details/107499678