Can帧中的Startbit位,字节序概述

本文以0x2A1报文为例来说明:

        报文名为BCM_2A1,报文长度(DLC)为8 bytes, 有一个信号名为rearRightDoorStatus,其起始位为28, 信号长为16bit。

1 字节序

        Intel处理器传统上是小端的,Motorola处理器一直是大端的Big-endian 是“大端”(最高有效字节)首先存储的顺序。 Little-endian 是“小端”(最低有效字节)首先存储的顺序

Can帧中的Startbit位,字节序概述_第1张图片

        这个图显示了使用不同字节序的两台计算机如何存储值为 0x0A0B0C0D 的 32 位(四字节)整数。 在这两种情况下,整数都被分成四个字节,0x0A、0x0B、0x0C 和 0x0D,并且这些字节存储在内存中的四个连续字节位置,从地址为 a 的内存位置开始,然后是 a + 1,a + 2和a + 3。big endian和little endian的区别在于存储整数的四个字节的顺序。

        左图显示了使用大端序的计算机。 这从地址 a 处的最高有效字节 0x0A 开始存储整数,并以地址 a + 3 处的最低有效字节 0x0D 结束。即:高字节保存在低地址中,低字节保存在高地址中

        右图显示了使用 little-endian 的计算机。 这从地址 a 处的最低有效字节 0x0D 开始存储整数,并以地址 a + 3 处的最高有效字节 0x0A 结束。即:高字节保存在高地址中,低字节保存在低地址中

2 起始位

        起始位(Startbit)代表信号的最低有效位 (LSB)

3 Intel小端序

Can帧中的Startbit位,字节序概述_第2张图片

4 Motorola大端序

Can帧中的Startbit位,字节序概述_第3张图片

你可能感兴趣的:(UDS诊断,c++)