[BASCOM] Berechnung läuft nicht richtig

OP #1125992
Lesenswert?
• ▲
▼
Hallo!

Ich habe ein Problem mit meinem Programm. Es handelt sich hierbei um 
einen Bordcomputer für einen Roller, der hardwareseitig schon komplett 
aufgebaut ist. Allerdings funktioniert die Berechnung/Anzeige der 
Geschwindigkeit nicht. Ein Impuls vom Reed-Kontakt am Rad kommt aber, 
denn der Kilometerzähler zählt richtig hoch.

Kann da mal bitte wär drüberschauen? Der Code ist im Anhang.

Die Berechnung der Geschwindigkeit findet in folgenden Zeilen statt:
+ In der Hauptschleife unter dem Kommentar "Berechnung Geschwindigkeit"
+ In der INT0_isr
+ In der Timer0_isr
Umgewandelt werden die Werte in der Hauptschleife unter "Umwandlung 
Werte für LCD"

Besten Dank
Thomas
Angehängte Dateien:
Gast #1126086
Lesenswert?
• ▲
▼
Time_umdrehung_ms   wird nirgens berechnet

Wenn alles funktioniert, kannst Du die Formel so umstellen, dass ein 
Befehl herauskommt.

Vermutlich musst Du noch ein bisschen mitteln, sonst hüpft die Anzeige.
Gast #1175258
Lesenswert?
• ▲
▼
Hallo Thomas

hier ein Auszug aus der Bascom-Hilfe, wie man mit Single's in Interupt's
umgeht.

R12 – R15 are not saved. When you use floating point math in the
ISR(not recommended) you must save and restore R12-R15 yourself in the
ISR.

My_Isr:
Push R12  ‘ save registers
Push R13
Push R14
Push R15
Single = single + 1 ‘ we use FP
Pop R15   ‘ restore registers
Pop  R14
Pop R13
Pop R12
RETURN

möglicherweise bringt dich das einer Lösung näher.

Gruß Hans

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren