Fehler, aber wo?

Gast #47977
Lesenswert?
• ▲
▼
Hallo!

Ich habe folgendes Problem: ein Teil meines Programms will einfach
nicht und ich finde den Fehler, obwohl es nur ein kleiner Ausschnitt
ist, einfach nicht. Eigentlich sollte bei jedem Tastendruck temp3 um
eins erhöht werden und dann angezeigt, wenn eine andere Taste gedrückt
wird soll dieser Wert im Eeprom abgelegt werden.
Der Fehler: Es zeigt zwar, wenn man per isp etwas an die Adresse 0x00
schreibt das richtige an, aber beim ändern erhöht sich der Wert nicht
um zwei sondern springt auf 57 dann in zweierschritten runter bis 47
und dann wieder auf 57. Wenn man nun die OK-Taste drückt, wird ein
anderer Wert im Eeprom abgelegt.
Ich kann mir einfach nicht erklären wo der Fehler liegt. Ich habe mir
überlegt, ob es sein könnte, dass mit den Variablem etwas nicht in
Ordnung ist (bei einem Interrupt die Variablen verändert werden). Doch
dies scheint nicht der Fall zu sein, denn ich habe bei allen interrupts
die in der Interruptschleife verwendeten Register auf den Stack
gesichert und probehalber mal "sei" am Anfang des Programms
herausgenommen, damit keine Interrupts mehr vorkommen, jedoch ohne
Erfolg---> Fehler kann nicht bei den Interrupts liegen!

Danke für eure Hilfe!!

Grüsse
Stefan
Angehängte Dateien:
Gast #47978
Lesenswert?
• ▲
▼
Hi,
hmm also wenn ich mir dein Prog so anseh, kommt der da garnie zum "inc
temp3", da du ja nach deinem Entprellen zu mit  "rjmp abgerneu1" zu
eben dieser Sprungmarke springst, die aber in deinem Codeausschnitt
nicht enthalten ist. kannste die noch beifügen?  so is das schwer zu
sagen was in dem abschnitt passiert :)

gruss
darko
Gast #47979
Lesenswert?
• ▲
▼
Hallo!
Ich verstehe nicht recht was du meinst:-( Also die erste
entprellroutine wird bei tastendruck durchlaufen und schon steht man
bei "inc temp3".
abgerneu1 ist einfach eine Stelle im Hauptprogramm, zu welcher
gesprungen wird wenn ein neuer Wert eingestellt wurde, das
Hauptprogramm wird erst dann fortgesetzt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.