MSP430F149 usart empfangenen Zeichenkette verarbeiten

Gast #2554260
Lesenswert?

Hallo,

ich versuche eine Zeichenkette vom PC über usart mit dem MSP zu 
verarbeiten.
Ein Zeichen zu empfangen ist kein Problem, nur wie verarbeitet man eine 
Zeichenkette wenn der Receivebuffer nur 8Bit empfangen kann.

Kann mir jemand ein Tipp geben wie man z.B eine Zeichenkette in eine 
Variable speichert.

Vielen Dank

Gruß
Mic
Gast #2554445
Lesenswert?

Da habe ich wohl die falsche Frage gestellt.
Es geht um, wie ich mehrere Zeichen über RS232 aus dem Receivebuffer vom 
MSP430F149 in eine Variable bekomme.

Ich sende per Terminalprogramm "hallo", in der Variable receive steht 
dann nur das letzte Zeichen "o"

Es wird immer nur das letzte Zeichen vom Buffer in die Variable 
geschrieben.

Ich schreibe das Programm mit dem CCSV5 in c

#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{

  m = 0;

   while ((URXIFG0)==1){
    receive[m++] = RXBUF0;    // Ankommendes Zeichen speichern

  }
Persönliche Seite #2554489
Lesenswert?

Der Interrupt wird für jedes empfangene Zeichen einzeln ausgelöst, daher 
ist es kontraproduktiv, den Index in das Array "receive" jedesmal auf 0 
zu setzen.

Außerdem ist das "while" nicht erforderlich, da je Aufruf der 
Interruptroutine nur ein Zeichen empfangen wird.

Desweiteren sollte eine Bereichsüberprüfung für den Index des Arrays 
"receive" erfolgen, wenn hintereinander mehr Zeichen empfangen werden, 
als im Array Platz finden, geht einiges in die Hose.

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