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
Hi >#define LCDPORT PORTD >#define LCDDDR DDRD >#define LCD_PIN_RS 0 PD0 ist RXD! Beim Setzen von RXE übernimmt die UART die Kontrolle über das PIN. MfG Spess
Ohhhh Mannn.... Durch logisches Denken meinerseits hätt ich mir des jetzt erspart... Danke für den Schuppser Spess!!!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.