[BASCOM] Berechnung läuft nicht richtig

OP #1125992
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 #1126075
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
Gast #1126086
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.
OP #1127529
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
OP #1128685
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
Gast #1175258
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.