UART Aktivierung -> LCD "spinnt" (Atmega 8)

OP #2894261
Lesenswert?

Hallo zusammen,

erstmal herzlichen Dank für das tolle Forum, wo man für "fast" alle 
Probleme im Leben eine Lösung findet ;-)
Wie man daran erkennt, bin ich neu hier. Lese aber schon seit ca. einem 
Jahr hier mit.
Meine Fähigkeiten in Sachen Programmieren beschränken sich ebenfalls auf 
dieses Jahr, der Elan ist aber umso größer.

Aber nun zu meinem Problem:

Ich versuche einen Atmega8 mit einem LCD und einer Verbindung zum PC zu 
schaffen (RS232 - UART, Max232). Anbei der Code in C geschrieben.

Was geht:
- LCD Ausgabe
- Uhr funktioniert (ca. 1 Sek. differenz auf 5 Std.)
- Einen Wert auf den PC übergeben
- Einen Wert vom PC auf µC übergeben.


Was nicht geht:
Sobald ich das Bit RXEN (Zeile 72 - benötigt für das Empfangen vom PC) 
setze "spinnt" mein Display.
Ist das Bit nicht gesetzt zeigt mein Display die gewünschte Uhr an.

Was heißt "spinnen": (Das Zeichen "-" dient hier als Platzhalter)

Im ersten Schritt steht im Display:
---23:59:00---
--------------

Normalerweiße sollte jetzt nach einer Sekunde folgendes erscheinen:

---23:59:01---
--------------

Aber es erscheint nach einer wesentlich kürzerer Zeit

---23:59:00-00
--------------
-> nach einer weiteren Zeit

---23:59:00-00
00------------

-> nach zwei/drei Sekunden

00-01-01-01-01
02-02-02-02-03


Die Übergabe zum PC und umgekehrt funktioniert noch so, wie es sein 
soll. (Bei gesetzte RXEN Bit)

Wo liegt mein Fehler?

Ich vermute, dass irgendwo ein Überlauf oder Timing Problem in der LCD 
Routine liegt.
Leider komme ich nicht drauf :-/

Hardwareseitig schließe ich einen Fehler zu 99,9% aus. (LCD funktioniert 
ohne RXEN Bit. Dateiübertragung funktioniert mit RXEN Bit).

Vielen Dank schonmal im Voraus für Eure Hilfe!
Dominik
Angehängte Dateien:

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