结论:无论用的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. 二、Snapman多人协作电子表格之——软件下载安装与配置

    Snapman多人协作电子表格是一个即时工作系统. 一.软件下载地址 Snapman下载的官网地址:http://www.snapman.xyz 在官网下载Snapman主程序安装: snapman_ ...

  2. Git - git tag - 查看当前分支 tag 版本&说明

    索引: 目录索引 参看代码 GitHub: git.txt 一.示例: git tag -l -n 二.说明: 1."tag" 部分 tag 代表的是标签动作,可以带参数 ,也可以 ...

  3. .Net Core 在Linux服务器下部署程序--(3). 部署.net core 后端程序

    确认第二步中的软件已安装完成 lrzsz文件上传下载软件 zip与unzip压缩包软件 net core 相关软件 确认上述软件安装完成之后,开始部署程序 创建部署文件夹 我的习惯是在usr文件夹下新 ...

  4. 记录display:table的使用

    兼容性:不兼容IE7 1.左右对齐 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  5. Raneto中文搜索支持

    背景 因业务部门需要在线软件使用说明文档,但我们资源不足,故我想找一个开源的知识库,发现 Raneto不错,决定使用. 官方文档相当清晰,部署完成,发布一些文章,启动项目,交由业务同事测试使用,于是我 ...

  6. 如何保持Redis和MySQL数据一致

    原文:https://blog.csdn.net/thousa_ho/article/details/78900563 1. MySQL持久化数据,Redis只读数据 redis在启动之后,从数据库加 ...

  7. mysql容灾备份脚本

    一,环境需求 **安装前准备 操作系统环境:Centos 7.2 [root@localhost soft]# rpm -qa | grep mariadb [root@localhost soft] ...

  8. .NET Core开源快速开发框架Colder发布 (NET Core2.1+AdminLTE版)

    引言 上星期发布的.NET452+AdminLTE版框架得到了大家的大力支持,目前GitHub已获近100星,鄙人十分高兴能够帮助大家.其中有不少关心.NET Core的支持情况,因为未来的.NET平 ...

  9. pycharm 远程调试代码

    我们在本地开发的时候,有时候需要使用到远程服务器的环境,如我们在调试微信或支付宝支付的时候. 那我们如何通过本地pycharm环境连接远程服务器进行调试呢? 1.pycharm和远程服务器连接 1)点 ...

  10. VS2019 实用操作

    本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作.提高编码效率.改善编程体验. 列模式操作 列操作是一项很常用且实用的功能,可以一次性修改不同的行. ...