汽车报文中:数据存储的大端序

目录

1 数据的的高低字节

2 数据存储内存地址(高低地址)

3、大端序

4 总结


返回目录

其实大小端序一直很容易搞混的,上周项目的配置字分析也是因为地址高低和数据高低一直区别不开。这样是为自己做一个总结

小端:数据的序字节保存在内存的地址,数据的序字节保存在内存的地址。
大端:数据的序字节保存在内存的地址,数据的序字节保存在内存的地址。

汽车行业使用的大多是大端。

1 数据的的高低字节

一个CAN网络报文:数据

0x12 0x34 0x56 0x78 0x9A 0xBC 0xDE 0xF0

网络报文最高字节(MSB):0byte,最低字节(LSB):7byte

每个字节最高位(MSB) 7bit,最低位(LSB):0 bit,

报文高低字节如图1所示:

2 数据存储内存地址(高低地址)

地址是从低到高的生长方式。截图是从芯片中读取到的。

3、大端序

示例:53D 发送的数据为:0x0110323456230121 第0字节是高位0x01

ECU里面存储格式:

由此可见:报文的高字节,对于的是ECU的低地址,

对于can来说,0字节也是最先传输给ECU的,所以才会存储到低地址

4 总结

最后,我们可以简单的记:报文的第0字节,存储在内存第一个位置,后续的字节地址依次后加地址。

同时在做数据分析的时候,也不要忘记,字节中的位。和字节的高低相反的。高位为7,低位为0.

我之前问题就是将第7位做为低位,将0位作为高位分析去了,导致配置码不对