DBC格式解析(以文本形式打開)
阿新 • • 發佈:2018-09-27
olt article code 精度 怎麽 detail 分辨率 一個 個數 我們先來看一段數據
BO_ 1024 VOLTAGE01: 8 BMS2 SG_ V01 : 7|16@0+ (0.001,0) [0|0] "" Vector__XXX SG_ V02 : 23|16@0+ (0.001,0) [0|0] "Unit2" Vector__XXX SG_ V04 : 42|16@0+ (0.001,0) [0|0] "Unit3" Vector__XXX SG_ V03 : 28|12@0+ (0.001,0) [0|0] "" Vector__XXX
SG_ V01 : 7|16@0+
此處的7是起始位置,
|16表示數據長度是16位
@0表示是Motorola格式(Intel格式是1),+表示是無符號數據
關於7的起始位置,和Intel格式或者是Motorola格式是有關的,如果是Intel格式,起始位通常是0。
(0.001,0)
0.001是分辨率,表示得到的CAN信號需要乘以0.001才可以使用。0表示偏移量。偏移量是幹什麽用的呢,比如我們計算溫度的時候,用無符號型數據,但是溫度有零下,怎麽表示呢,我們用0這個偏移量,比如(0.5,-40)就表示得這個數據乘以0.5,再減去40,這樣就能表示零下40度的數據,精度是0.5度。兩個字節最大能表示255,乘以0.5大概剩下127.5,然後減掉40,就得出,我們數據的範圍是從(-40度到87.5度)這樣的數據範圍顯然是無法滿足我們的要求的,所以可能要1個半字節甚至2個字節才能表達完整的溫度,或者犧牲精度為代價。
[0,0]
是表示最大值和最小值,定義一個值的範圍,通常不用管。
--------------------- 本文來自 楊林土豆 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/xinjitmzy/article/details/79043322?utm_source=copy
DBC格式解析(以文本形式打開)