DBC文件是CAN数据库文件,可以使用记事本等文本工具以文本形式打开进行编辑。
如下图以文本打开dbc,高亮部分为名为M1的报文对应的报文ID数值418382339
(十进制),转为十六进制0x18F00203
使用candb++打开可以看到这条报文是标准帧,ID是0x18F00203
【实际上标准帧的ID范围在0~0x7FF,11位】
通过CANdb++可以直接将 ID-Format ID格式 从CAN Standard
标准帧 改为 CAN Extended
扩展帧
这里介绍在文本编辑器中修改的方法,首先需要了解DBC文件如何解析的。
该ID数值在文本中是418382339
,转为十六进制为0x18F00203
,DBC文件实际上是将该ID数值视为一个32位无符号数值,根据最高位是否为1判断是否为扩展帧。也就是说最高位为1即为扩展帧,反之为标准帧。【具体可查看Vector的DBC文档】
该数值二进制为:0001 1000 1111 0000 0000 0010 0000 0011
(高位补0到32位)
将最高位改为1:1001 1000 1111 0000 0000 0010 0000 0011
再转为十进制:2565865987
将dbc文本中所有的数值418382339
替换为更改后的数值2565865987
,再使用CANdb++打开,可以看到该报文ID-Format已变为扩展帧。报文ID无变化。