AVR verhält sich mir unerklärbar

Gast #2158803
Lesenswert?

Guten Tag.

Ich hatte vor ein kleines Programm zu schreiben, welches auf einem 
Display die über den UART empfangenen Daten anzeigt und diese 
abspeichert.
Sobald nun ein Taster (PB0) betätigt wird soll er den Speicher einmal 
über den UART ausgeben und bei erneutem empfang von Daten neu auffüllen.


Das Anzeigen der Daten auf dem Display funktioniert einwandfrei.
Sobald ich den Taster zum Senden der Daten betätige kommt nur Müll an. 
Der Müll ist eig. nahezu immer der gleiche egal was ich zuvor versucht 
habe ein zu speichern.
Nachdem ich den Müll gesendet habe kann ich ganz normal wieder Daten 
senden welche auch wieder richtig auf dem Display angezeigt werden.

Zeitweise aber ist es so das er nach dem Senden der Daten die 
Empfangenen Daten gleich wieder vom Display nimmt.

Ich habe versucht den Fehler ein zu kreisen indem ich erstmal mein Reset 
Programm übersprungen habe und einfach sachte das der zu 0x000 springen 
soll.

Meine Probleme:

Speichert er die Daten überhaupt richtig ab?
Warum kommt da nur Müll raus wenn ich sende?
Und vor allem: Was ist das für ein Problem welches zwar mit einem Reset 
aber nicht mit Sprung zu 0x000 gelöst wird?
Angehängte Dateien:
Gast #2159450
Lesenswert?

Interrupthandler int_rxc ohne Sicherung/Wiederherstellung des SREG?

>welches zwar mit einem Reset aber nicht mit Sprung zu 0x000 gelöst wird?

Möglicher Grund: Bei einem echten Reset werden die Register (r0...r31) 
von der Hardware gelöscht.

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