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
Du stoppst in der INT_0-ISR den Timer0. Der muß aber weiterlaufen, sonst stimmt das Zeitregime nicht mehr und Dein "Time_umdrehung_n" wird nicht weiter erhöht. MfG Paul
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.
Ich denke, dass in der INTo_isr der Befehl Time_umdrehung_n = Time_umdrehung_ms genau anders herum sein sollte. Gruß Rolf
Hallo! Der letzte Eintrag von Gast hat Licht ins Dunkel gebracht - allerdings war dies nur ein weiterer Fehler, angezeigt wird am Display trotzdem keine geschwindigkeit. Nur der Kilometerstand erhöht sich. Hat da noch jemand eine Idee, woran es liegen könnte? LG
Irgendwie scheine ich blind zu sein und komme einfach nicht auf den Fehler drauf. Der Km.Stand zählt hoch, jedoch scheint die Berechnung und/oder Anzeige der Geschwindigkeit nicht zu funktionieren. Kann da mal wer drüberschauen? Gruß Thomas
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.