计算机字符传输过程的中的排序与堆栈处理原理有关,可以搜索相关计算机原理学习。
我们只要了解其特点即可:
- 计算机数据的最小单位是bit,也就是二进制的一位。
- 8个bit组成一个字节,也就是十六进制的一个数。
- 两个字节组成一个字。也就是16bit。
- 因此32位数据就是两个字,64位数据就是四个字…
- 堆栈处理,无非两种顺序:一正一反。但堆栈处理是可以同时存在的,我们就不深层讨论了。
- 在Modbus通信中,目前我们主要有16bit(AB)、32bit(AB CD)和最新的64bit(AB CD EF GH)三种数据长度。每个字母代表一个字节
- 针对16bit传输,只存在正序(AB)或反序(BA)两种方式,这里不多说明。关于更高位传输做以下说明。
- 先讲高位优先(MSRF正序)和低位优先(LSRF反序):它是以字节为单元处理的,比如一个双字(AB CD),那么正序传输对方收到AB CD,反序传输对方收到DC BA。
- 再讲一下字节互换(Swap)概念:它是以字为单元处理的,也就是一个双字(AB CD),正序字节互换传输,对方收到的是 BA DC。反序字节互换传输,对方收到CD AB。
- 那么64bit(AB CD EF GH)就存在四种传输顺序结构:
一、正序传输 对方收到 AB CD EF GH
二、反序传输 对方收到 HG FE DC BA
三、正序字节互换传