Can报文的字节排序(Motorola Forward MSB和Motorola Forward LSB的区别)

本篇只描述Motorola格式的字节排序方式,Intel格式的不作介绍。
首先以下面的表格来表示字节顺序和位顺序,用红色背景表示高位MSB,蓝色背景表示地位LSB,绿色为LSB到MSB的过渡。
在这里插入图片描述
下面以起始位位34,长度位12的信号来做演示来区分Motorola Forward MSB和Motorola Forward LSB的区别。
Motorola Forward MSB(大端在前):
矩阵文档中起始位置则为MSB的起始位34,往高字节借位。
在这里插入图片描述
填入0xB79,即101101111001,如下图:
在这里插入图片描述

Motorola Forward LSB(小端在前):
矩阵文档中起始位置则为LSB的起始位34,往低字节借位。
在这里插入图片描述
填入0xB79,即101101111001,如下图:
在这里插入图片描述
注意的是Motorola格式主要在于跨字节的区别,如果计算错了会导致发送的报文或解析的报文异常。其次要注意起始位是从第几位开始计算,Motorola Forward MSB以高位MSB为起始位,Motorola Forward LSB则以低位LSB为起始位。

知识补充1:什么是内存的高低地址?
如下图所示,以8个字节长度为例,Byte0为低字节,Byte7为高地址。
在这里插入图片描述
知识补充2:什么是高低字节?
比如说对于0xFF22来说,FF就叫做数据的高字节部分,22就是低字节部分。

知识补充3:什么是MSB和LSB?
MSB(most significant bit)即最高有效位,LSB(least significant bit)即最低有效位。字节计算就是从LSB到MSB的计算过程。

  • 20
    点赞
  • 143
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言并肃

感谢大哥支持!您的鼓励是我动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值