什么是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