modbus rtu通信的一些问题

问题一:相关资料上说modbus rtu通信数据中每个字节包括” 1个起始位、8个数据位、 1个奇偶校验位、1~2个停止位“,加起来每个字节就有12位了。不是一个字节只有8位的吗?
问题二:无符号十六位二进制数据乘以100,再除以256,这个运算是起到什么作用呢?

问题1:modbus rtu通信数据中每个字节包括” 1个起始位、8个数据位、 1个奇偶校验位、1~2个停止位“,这个没问题,每个字节有8位,是指由8位数据位,因为数据位才是我们真正需要通讯的内容;可以这样理解:11位是物理上通讯的内容,当你把11(12)位接受并校验之后,你就仅仅需要关注其中的数据位8(7、6)位了。
问题2:乘以100,不知道要做什么;除以256一般是为了将16位分成两部分,除以256保留的是前8位。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-30
为了保证可靠,需要在前后有约定,12位只能发送一个字节。
乘以100(64H),可能是放大需要;除以256(即100H),则右移两次得到高8位。
第2个回答  2021-04-14

单片机+433MHz通信模块实现Modbus RTU无线通信

相似回答