结论:无论用的Motorola,还是Intel格式,只在单个信号跨字节时解析才有区别。

先看下Vector的CANoe中dbc编辑器是如何呈现报文的:

图1 CAN报文中byte与bit顺序

从图中可以看出,每行表示一个字节的8个位,从右到左依次是bit0, bit1...bit7. 一共有8行,从上到下依次是byte0, byte1...byte7.这也正是每帧CAN报文数据能容纳的最多数据——8个byte,共64个bit(bit位序从byte0到byte7依次递增排序)。

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

举例:

(1)配置CAN报文信号为Motorola格式

图2 Motorola格式信号
图3 Motorola格式信号排布

报文中相应信号用上述Motorola格式解析出来的结果如下:

图4 Motorola格式信号解析

(2)配置CAN报文信号为Intel格式

图5 Intel格式信号
图6 Intel格式信号排布

报文中相应信号用上述Intel格式解析出来的结果如下:

图7 Intel格式信号解析 

对比:

a)跨字节信号ins_p和Treserved:两种格式解析结果不同。按照byte0, byte1...的先后顺序,Motorola格式大字节在前,小字节在后,如ins_p解析为0x3884。而Intel格式小字节在前,大字节在后,如ins_p解析为0x438。(此处的大字节指的是高位bit所在的字节,小字节指的是低位bit所在的字节)

b)非跨字节信号VolAD:两种格式解析的结果相同,都是0xC0,也即192。

注:

a)需要明确:8个byte的顺序不变,每个byte中8个bit的顺序不变,如图1所示。

b)从图3和图6的箭头方向可以看出每个信号不同格式下bit的排布顺序。其中红色箭头指向首尾bit,白色箭头指向跨字节的衔接bit。红色箭头的首为LSB(Least Significant Bit),尾为MSB(the Most Significant Bit)。

Motorola和Intel格式报文解析的区别的更多相关文章

  1. CAN报文 Intel 格式与Motorola 格式的区别

    当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的 编码结果没有什么不同,完全一样.当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明 ...

  2. Intel格式与Motorola格式的区别

      Intel低字节在前 Motorola高字节在前    在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式.究竟两种编码格式有 ...

  3. xml格式报文的拼装,和解析成实体类

    我们的微信支付,使用的是第三方的支付,某银行的微信支持渠道.所有的接口请求.应答都是xml格式报文,这样就需要用到xml格式报文的拼装和解析,这儿简单讲一下. 拼接xml格式报文. 从页面表单提交和配 ...

  4. Intel格式和AT&T格式汇编区别

    一.AT&T 格式Linux 汇编语法格式 在 AT&T 汇编格式中,寄存器名要加上 '%' 作为前缀:而在 Intel 汇编格式中,寄存器名不需要加前缀.例如: AT&T 格 ...

  5. (转) at&T语法格式 与 at&T - intel格式对比

    原地址 示例: movl (%ebp), %eax, 等同于Intel格式中的 ] ,AT&T中,源操作数在左,目的操作数在右.“l”是Longword,相当于Intel格式中的dword p ...

  6. Dicom格式文件解析器[转]

    Dicom格式文件解析器   Dicom全称是医学数字图像与通讯,这里讲的暂不涉及通讯那方面的问题 只讲*.dcm 也就是diocm格式文件的读取,读取本身是没啥难度的 无非就是字节码数据流处理.只不 ...

  7. PHP serialize 和 JSON 解析与区别

    PHP serialize 和 JSON 解析与区别 对于JSON(JavaScript Object Notation)大家应该不陌生,它是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器 ...

  8. Intel HEX文件解析

    近期有一个需求就是为Arduino开发板做一个基于蓝牙的无线烧录程序.眼下的Arduino程序都是通过USB线连接到电脑的主机上,实际的传输过程是基于USB协议的,这个过程还是比較麻烦的.由于每次的编 ...

  9. C#ModBus Tcp 报文解析

    上一篇博客已经完成 C#ModBus Tcp Master的实现 本篇主要对不同的功能码所发出的报文进行解析(包括请求报文及响应报文) 读操作 功能码 0x01 读一组线圈 读取站号为1 从地址12开 ...

随机推荐

  1. vuex的用法

    https://segmentfault.com/a/1190000015782272

  2. ArcGIS API for JavaScript与 npm

    在4.7版本中,不仅增加了WebGL的渲染支持(渲染前端速度加快,渲染量也加大).增强了ES6中的Promises语法支持,还支持了npm管理及webpack打包,实属喜讯. “意味着可以不经过esr ...

  3. Dynamics 365-CRM又报看不懂的错误了

    在CRM上执行各种操作,时不时会碰到各种问题,尤其是CRM环境里包含越来越多定制的时候.有的问题在CRM弹出的错误提示框,一目了然:而有的,可能就是简单的提示:SQL Error. 这个时候我们可能都 ...

  4. Android Studio教程04-Task和Back stack

    目录 1.Tasks and Back Stack 1.1. 当点击Back按钮返回到上一个Activity时发生了什么? 1.2. 点击HOME按钮 1.3.多次点击进入Activity-Back按 ...

  5. 深入浅出KNN算法(一) KNN算法原理

    一.KNN算法概述 KNN可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一,注意KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法Kmeans有点像(Kmeans是无监督学 ...

  6. SQL 修改字段类型和长度,常见类型介绍及数据库设计工具PowerDesigner和astah

    1.电话字段设置24个Byte竟然不够,好吧设置为50的长度. alter table <表名> alter column <字段名> 新类型名(长度) 举例: ) 2.删除一 ...

  7. K邻近回归算法

    代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 10:40:22 2018 @author: zhen &qu ...

  8. JavaScript 节流函数 Throttle 详解

    在浏览器 DOM 事件里面,有一些事件会随着用户的操作不间断触发.比如:重新调整浏览器窗口大小(resize),浏览器页面滚动(scroll),鼠标移动(mousemove).也就是说用户在触发这些浏 ...

  9. Vue.js03:v-model实现简易计算器

    v-model用于数据的双向绑定.bug不少,凑合看吧,主要是练习v-model. <!DOCTYPE html> <html lang="en"> < ...

  10. git之命令git checkout

    git checkout 最常用的就是切换分支,最近又发现一种新的用法: 有时候,在看代码的时候,不小心改动了部分代码,但跟项目没啥关系,这个时候,想不去提交这些代码,怎么处理呢? 使用git che ...