对于MODBUS来说
    高位在前 低位在后

    这样大家就清楚高高低低原则了 (低位用D表示,高位用G表示)
    D G G D
    如果把内存地址的数据 01 02 03 04 放到寄存器就是 04 03 02 01
    G D D G
    如果把寄存器的数据 04 03 02 01 放到内存地址为 01 02 03 04

    0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040 0x0080
    0 1 2 3 4 5 6 7

    0x0100 0x0200 0x0400 0x0800 0x1000 0x2000 0x4000 0x8000
    8 9 10 11 12 13 14 15

    1. //取数
    2. buf[0] & 0x01) > 0 ? 1 : 0
    3. //拼接
    4. temp |= (buf[0] & 0x01) > 0 ? 1 : 0;
    5. temp |= ((buf[1] & 0x02) > 0 ? 1 : 0) << 1;