LPC2368 String in UART einlesen

Gast #1380037
Hallo zusammen,

ich hoffe einer von Euch kann mir mit meinem aktuellen Problem helfen.
Ich möchte über den UART meines LPC23648 einen kompletten String 
einlesen,
bspw. wie folgt: 43 1<cr><lf>.

Hier der Teil des C Code meines Programms: Ein Interrupt wird aktiviert 
nach Erhalt des Strings

Hier die Uart Init:
U0FCR = 0x01;
U0LCR = 0x87;
U0LDM = 0;
U0DLL = 0x4A;
U0FDR = 0xC7;
U0LCR = 0x07;
U0IER = 0x05;

Hier die Funktion:
unsigned char array[16];  //Global definiert in main file
unsigned char x;         //Global definiert in main file
unsigned char New_Data; //Global definiert in main file

__irq void UARTinterrupt(void)
{
 while(U0LSR & (1 <<0)
 {
  array[x]=U0RBR;
  if(array[x]==0x0A)
  {
   New_Data=0x01;
  }
  x++;
 }
}


Mein Problem ist jetzt, dass zwar der Interrupt ausgelöst wird, aber 
nach Abarbeitung im Array nur noch das letzte Zeichen 0x0A (<lf>) drin 
steht und das an erster Position. Der Rest ist irgendwie verloren 
gegangen.
Das RX FIFO habe ich übrigens aktiviert.
Was ist hier passiert?
Schon mal Dank im Voraus
Gast
Wenn ich das richtig sehe, hast du zwei Stopbits eingestellt (U0LCR = 
7). Stimmt das mit dem Sender überein?

Ansonsten dürfte das die Ursache sein: Das letzte übertragene Zeichen 
ist wegen des anschließenden Ruhepegels das einzige mit gültigem Format, 
die anderen werden alle wegen Frame Error (zu wenig Stopbits) verworfen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.