Problem mit RS232 und I2C

Gast #366935
Lesenswert?
• ▲
▼
Hallo,

ich habe einen ATMega16 per I2C mit einem LCD-Display verbunden und
kann das Display auch ansteuern. Jetzt möchte ich Zeichen, die der
Controller per RS232 vom PC empfängt, auf dem Display ausgeben.
Ausserdem werden die Zeichen zur Kontrolle per RS232 an den PC
zurückgesendet.
(Ich nutze die UART-Lib von Peter Fleury).
Das Problem: Wenn ich das Programm (so wie unten) starte, kommen die
Zeichen korrekt wieder am PC an, aber das LCD-Display zeigt mir alles
4mal hintereinander an.
Kann mir jemand einen Tip geben woran das liegen kann?

Danke, Hinrich


Hier die Schleife der Main-Funktion, in der die ankommenden Zeichen der
RS232 abgefragt werden:

for(;;) {
   c = uart_getc();
   if ( c & UART_NO_DATA )
        {
            /*
             * no data available from UART
             */
        }
      else
    {
      uart_putc( (unsigned char)c );
      Msg2LCD((unsigned char)c);
    }
   }
}

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.