Ich hätte doch erst mal schauen sollen, bevor ich hier schreibe
Code: |
if (rxId==0x5A0) //0x5A0 Geschwindigkeit vom ABS
{
Byte_0x5A0_1=rxBuf[1];
Byte_0x5A0_2=rxBuf[2];
Byte_0x5A0_5=rxBuf[5];
Byte_0x5A0_6=rxBuf[6];
Kmh=(Byte_0x5A0_2*256+Byte_0x5A0_1)/152;
CurrentStrecke=Byte_0x5A0_5 + (Byte_0x5A0_6 & B00000111)*256;
}
|
Also die beiden Bytes enthalten den Wegstreckenimpuls.
Und die Strecke wird alle halbe Sekunden berechnet mit dieser Formel:
Code: |
if (CurrentStrecke<LastStrecke) {Str=CurrentStrecke+0x0800-LastStrecke;} else {Str=CurrentStrecke-LastStrecke;}
LastStrecke = CurrentStrecke;
kms=kms + Str*0.20; //kms in Dezimetern
|
Im eingebauten Bordcomputer stimmt der Kilometerstand ziemlich genau, waren etwa 4% weniger, aber da der Tacho ja etwas vorgeht, dürfte das ganz gut stimmen.
Hoffe, du bekommst das auch noch gelöst.
Gruß
Werner