Gast
#2404075
Hallo,
ich habe ein kleines Problem bei meiner Datenübertragung per USART.
Ich speicher die Daten in einem Ringpuffer via Interrupt:
Puffer[x] = U1RXBUF //Puffer ist ein 200char array und beides globale
Var
x++;
Davon wird dann nur der erste Wert übernommen
p = strtok(Puffer,",_"); // char *p;
mittels einer Schleife wird das ganze in zwei Var aufgesplittet:
for (i=0;p!=NULL; i++)
{
if (i==0) Channel= p;
if (i==1) Wert=p;
p = strtok (NULL,",_");
}
Output (Channel,Wert); // Ausgabe der Variablen
Also jetzt zu meinem Problem. Wenn ich das erste Mal daten sende, dann
gibt er den Wert auch korekt aus. Beim senden des zweiten, dritten,
vierten Befehls gibt er nru noch null aus.
Falls ich die Zeile:
x=0; //hinter Output einfüge dann funktioniert es. Aber dann ist es ja
kein Ringpuffer mehr ;-). Also ich vermute, dass er die ersten Befehle
nicht richtig löscht.
über Tipps bin ich sehr dankbar.
Nora