ModBus中封包问题,发送字节数组的长度计算

img



```c#
public byte[] CreateWriteRegister( byte station, byte[] values )
        {
            byte[] buffer = new byte[7 + values.Length];
            buffer[0] = this.Station < 0 ? station : (byte)this.Station;
            buffer[1] = ModbusInfo.WriteRegister;
            buffer[2] = BitConverter.GetBytes( this.Address )[1];
            buffer[3] = BitConverter.GetBytes( this.Address )[0];
            buffer[4] = (byte)(values.Length / 2 / 256);
            buffer[5] = (byte)(values.Length / 2 % 256);
            buffer[6] = (byte)(values.Length);
            values.CopyTo( buffer, 7 );
            return buffer;
        }

```
ModBUs写线圈指令,为什么要对写入值的长度进行(byte)(values.Length / 2 / 256)、(byte)(values.Length / 2 % 256)计算呢?有什么实际意义?

byte[] values 是由一个单精度小数转换来的,感觉应该是计算整数位和小数位的什么东西,但是想不明白