CAN报文大小端-Intel格式与Motorola格式的区别

关于CAN报文,用的Motorola,还是Intel格式,只在信号数据跨字节解析时,才有区别。单个字节数据没有区别。

在这里插入图片描述
在这里插入图片描述

小端(Intel)

  • 小端 = Little-Endians = Intel Mode:高字节byte保存在高地址中,低字节byte保存在低地址中。

在这里插入图片描述
举例

如果上面这条报文数据为0xD2 E4 56 78 90, 则

  • VolAD = 0x90
  • Treserved = 0x78 56
  • ins_p: 低位是0xD2,高位是前7bit,0xE4=1110-0100,
    所以高位是110-0100,补全为byte就是0110-0100=0x64. 所以ins_p = 0x64 D2

大端(motolora)

  • 大端 = Big-Endians = Motorola Mode:高字节保存在低地址中,低字节保存在高地址中。

在这里插入图片描述
举例

如果上面这条报文数据为0xD2 E4 56 78 90, 则

  • VolAD = 0x90
  • Treserved = 0x56 78
  • ins_p:
    此时0xD2是高位数据,E4是低位数据。ins_p长度是15bit,先算低位byte数据就是0XE4。然后需要在高位取7bit,0xD2=1101-0010,
    所以高位是101-0010,补全为byte就是0101-0010=0x52. 所以ins_p = 0x52 E4

可以注意到,大端模式(motolora)下,数据的处理方式和平常手写的顺序相同。

转载自大神

  • 9
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值