浮点型数据 占两个寄存器(四个字节)
short 整形 占一个寄存器 (两个字节)
注意!!!!
stm32 是小端模式,而modbus解析数据是大端模式 所以先发送高字节
如int a=16777220,化为十六进制是0x01 00 00 04,则04属于低字节,01属于高字节
例如float a=125.6 十六进制0x42 fb 33 33 高字节 是42 低字节是33
所以在写modbus程序的时候,先发送高字节(高地址) *p+3
开关量处理方式
请求01 02 00 00 01 b9 ca
注意01 代表 一个开关量(也可以表示一个寄存器,但是一个该寄存器代表一个开关量,和保持寄存器不同,保持寄存器一个寄存器代表两个字节)
响应01 02 01 01 60 48 01代表一个字节
具体讲解见MODBUS常用功能码学习及实例_modbus操作码_Steven邵的博客-CSDN博客