其他分享
首页 > 其他分享> > 什么是motorola序,Intel序?

什么是motorola序,Intel序?

作者:互联网

什么是motorola序,Intel序?

与大小端是一个概念吗?

不是的,相似但是描述的不是一个层级的概念。
我们先定义如下:
LSB/MSB:分别代表最低/最高有效字节Bytes.
lsb/msb:分别代表最低/最高有效bit.

大小端:描述的是,当存储多字节的数据时,LSB或者MSB位于内存的什么位置。
Motorola/Inter序:描述的是,当一个数据跨多个字节时,lsb或者msb位于哪个字节的哪个bit.

注意理解这两对概念所在层级。

一句话区分概念

大端:多字节的最低地址处存放MSB。
小端:多字节的最低地址处存放LSB。

Motorola序:msb位于低字节的高有效位。
Intel序:msb位于高字节的高有效位。

举个例子

Motorola/Intel序是汽车行业中经常遇到的概念,经常在查阅DBC时看到,下图是一个CAN报文的layout.
在这里插入图片描述

以其中的数据项ACCDetObj2LongRltvSpd为例,这个数据项的长度为12个bit,跨了Byte0和Byte1两个字节。如果ACCDetObj2LongRltvSpd值为0x65A:
motorola序下各bit的值:
|------Byte0-----|------Byte1-----|
|bit7---------bit0|bit7---------bit0|
|0|1|1|0|0|1|0|1|1|0|1|0|

Intel序下各bit的值:

|------Byte0-----|------Byte1-----|
|bit7---------bit0|bit7---------bit0|
|0|1|0|1|1|0|1|0|0|1|1|0|

如果一个数据项并没有跨字节,这两者无区别。

标签:motorola,Intel,字节,什么,-----,bit,msb,bit0
来源: https://blog.csdn.net/weixin_37822792/article/details/117967145