CC++关于实现CAN信号的获取方法 |
||||
+ 目录
CAN基础知识标准的CAN 数据为8字节,即64位,但是CAN FD的最大数据可为64字节,为512位,其中的帧ID分为标准帧和扩展帧,其中用11位标准帧,用29位表示扩展帧。
CAN 信号信号具体指的是CAN数据的多少位到多少位间代表一个具体的信号,如5位到16位表示车辆的行驶速度,即完整的CAN数据可以表示多个信号。 can信号获取:
?
如上图,can数据的其中4字节为0x44,0xFE,0x23,0x81, 分别对应0到32位的数据,现在获取14位到31位的数据,形成具体的信号值。 运行结果:
C语言涉及到知识位操作、指针与数组的操作、MSB LSB的表索引。 数组与指针关系: 指针操作 +1 即 p + 1是指向下一位的地址,若p指向的类型为int类型,则p+1 指向下一个int类型数据的地址,若p指向的是个结构体,则p+1指向相对应结构体下一个元素的地址。 其中p[i] = *(p+i)
?
|