Volvo s80 仪表算法
/ I n0 T7 f( h2000款车
2 s# B; i4 u' D00000170:FF FF FF FF FF FF FF FF-FF FF 00 00 00 00 00 00 ................0 N3 \. S0 G4 C6 @! L
00000180:10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................
+ B: V6 D/ r- B) M4 A00000190:10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................
* a9 ?' N6 j% z! w000001A0:10 10 10 10 10 0F 0F 0F-0F 0F 0F FF FF FF FF FF ................
6 D) x. O3 I A3 D; `5 Y数据地址017A——01AA
6 [! r2 }+ }2 u$ s( a其中00180-001AA一共是43位,每进一位是4公里,也就是说这43位全是FF,是0公里,00180位是00时,是4公里,43位全是00时,是一个循环43X4=172公里。+ W% R+ c; j8 g/ X8 K4 [8 N
/ l z1 w/ B! E5 r \4 A1 m4 p7 Y; K
现在的数据是10共有37位,10转换十进制=16,一共是17个循环,17X172=2924公里,还有5位是0F,5X4=20,2924-20=2904KM,2904就是00180-01AA的里程数。
# w/ i2 u% v( G6 p
* k+ e7 ]) B3 p$ `4 }. h( j8 f. x当00180-001AA的数据全是FF,为最大里程数,FF转换成十进制=255,一共是256个循环,256X172=44032KM,此为00180-001AA地址所能显示的最大里程数,当超过44032KM,就要进位,也就是0017A-0017F的6位,当这6位全是FF时,表示没有进位,超过44032KM时向前进位,6位FF同时变成00,也就是当0017A-0017F都是00时,表示44032X2公里,6位变成01时,表示44032X3。! T+ Y* E- {" X) d7 ]9 f4 }$ S
|