本文以0x2A1报文为例来说明:
报文名为BCM_2A1,报文长度(DLC)为8 bytes, 有一个信号名为rearRightDoorStatus,其起始位为28, 信号长为16bit。
1 字节序
Intel处理器传统上是小端的,Motorola处理器一直是大端的。 Big-endian 是“大端”(最高有效字节)首先存储的顺序。 Little-endian 是“小端”(最低有效字节)首先存储的顺序。
这个图显示了使用不同字节序的两台计算机如何存储值为 0x0A0B0C0D 的 32 位(四字节)整数。 在这两种情况下,整数都被分成四个字节,0x0A、0x0B、0x0C 和 0x0D,并且这些字节存储在内存中的四个连续字节位置,从地址为 a 的内存位置开始,然后是 a + 1,a + 2和a + 3。big endian和little endian的区别在于存储整数的四个字节的顺序。
左图显示了使用大端序的计算机。 这从地址 a 处的最高有效字节 0x0A 开始存储整数,并以地址 a + 3 处的最低有效字节 0x0D 结束。即:高字节保存在低地址中,低字节保存在高地址中。
右图显示了使用 little-endian 的计算机。 这从地址 a 处的最低有效字节 0x0D 开始存储整数,并以地址 a + 3 处的最高有效字节 0x0A 结束。即:高字节保存在高地址中,低字节保存在低地址中。
2 起始位
起始位(Startbit)代表信号的最低有效位 (LSB)。