Hilfe, R21 verändert sich

Gast #166499
Lesenswert?
• ▲
▼
Hallo Forum...
Ich habe hier ein Problem mit einem Register.
Ich habe das r21 mit .def Status =r21 definiert.
Während des Programmablaufes wird dieses plötzlich zu 255.
Bis dahin sind aber schon einige Zyklen vergangen und ich habe
definitiv keinen Zugriff auf dieses Register von anderer Seite gehabt.
Wie kann ich da den Fehler suchen ?
Es handelt sich um den ATTiny2313
Gast #166502
Lesenswert?
• ▲
▼
Da die Register auch im RAM-Bereich abgebildet werden (ab Adresse 0),
kann man sie auch mit den Datentransfer-Befehlen wie LD und ST
erreichen.
Falls da ein "Zeiger" nicht stimmt, oder der Stack überläuft, kann
man sich damit auch ungewollt Register überschreiben, ohne diese
explizit anzusprechen.

Gruß
Ingo
Gast #166504
Lesenswert?
• ▲
▼
Ich hab den Übeltäter durch zufall gefunden...
gibt es da keine andere Möglichkeit als das Programm step by step durch
zu orgeln ?
Kann man nicht irgendwie Stopmarken setzen, wenn ein Ereignis resp.
Registerwechsel stattfindet ?
Gibt's sowas wie debug.print in VB im AVR Studio ?
Gast #166506
Lesenswert?
• ▲
▼
Alles in allem schein der Simulationsbetrieb im Studio ja sehr schwach
zu sein...
Oder kann man das UART bedienen bzw. Daten über's UART ausgeben ?
Alternativ kann ich zwar auf mein STK500 brennen aber da kann ich ja
offensichtlich nicht den Programmablauf verfolgen. Oder hab ich das nur
noch nicht gefunden ?
Wie debugt Ihr denn so?
Auf den MC schießen und gucken ob sich die letzte Änderung gelohnt hat
?
Ich hab nämlich noch ein Problem mit dem SRAM.
Ich schreibe da ein Byte vom UART ins SRAM und lese es danach wieder
aus um es auf einem Display anzuzeigen.
Im Studio absolut top, auf'm Board Schrott.

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.