Volvo s80 仪表算法
* U) t" h% E% K% _ p+ Q2000款车
8 q. N9 L- r3 P. O0 C00000170:FF FF FF FF FF FF FF FF-FF FF 00 00 00 00 00 00 ................
) \/ `4 T) W* u: Q! }$ C8 b, M8 u; e00000180:10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................
: P+ t( Z& T. Q# z: w6 Z00000190:10 10 10 10 10 10 10 10-10 10 10 10 10 10 10 10 ................
+ I. U O5 s% m& N4 r- P4 U000001A0:10 10 10 10 10 0F 0F 0F-0F 0F 0F FF FF FF FF FF ................
: F8 }7 X- @ P% P0 ~3 y3 ~& ?* m数据地址017A——01AA' ^: }/ D2 D: _3 w, J2 H4 H
其中00180-001AA一共是43位,每进一位是4公里,也就是说这43位全是FF,是0公里,00180位是00时,是4公里,43位全是00时,是一个循环43X4=172公里。8 G# G2 p- H3 v" L" V" p s0 l
7 q% W' c8 y/ H1 S' k' e( h( ?
现在的数据是10共有37位,10转换十进制=16,一共是17个循环,17X172=2924公里,还有5位是0F,5X4=20,2924-20=2904KM,2904就是00180-01AA的里程数。
& V* a9 v3 ~! i: b/ r6 U4 D; ~8 v1 }- r2 Y! A" |
当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。1 u# j+ _- \5 i1 o( _ U
|