Forum: PC-Programmierung Endzeichen einfügen, bzw. Erstellung eines Sendeprotokolls


von M. V. (bmtil)


Lesenswert?

Hallo, ich versuche momentan meine Daten von einem Messgerät in einer 
bestimmten Form zu versenden. Die Daten sind int und long int Zahlen und 
kommen in Form eines Vektors.
Das Protokoll soll enthalten einen Header und die Daten an sich.
Im Header steht ein "Initialisierungswert" "mm", dann die Anzahl der 
Zeilen des Vektors "N2", und der maximale Wert der in dem Datenvektor 
vorhanden ist "MaxDiff".
Zuerst soll der Header verschickt werden, dann ein Endzeichen, dann der 
Datenvektor.
Ich habe das Protokoll versucht mit der Funktion "sprintf" 
zusammenzubauen.
Bis jetzt habe ich folgendes:
1
/*das ist der Header*/
2
sprintf(Databuff, "%d\r\n%d\r\n%d\r\n", mm, N2, MaxDiff);
3
print(usart, Databuff);
4
/*das ist der Header*/
5
6
/*das ist der Vektor*/
7
for (tk=0; tk<N2; tk++)
8
{
9
 sprintf(Databuff, "%u\r\n",DifNow[tk]);
10
 print(usart, Databuff);
11
}
12
/*das ist der Vektor*/

Ich bekomme alle Daten richtig übertragen und ich kann mir auch ueber 
Hterm eine .txt Datei erstellen lassen, wo es alles schön untereinander 
steht.
Allerdings möchte ich am Anfang des Headers ein (zum Bsp. ASCII "Start 
of Header") Anfangszeichen einfügen, am Ende des Headers ein 
(beliebiges) Endzeichen und am Ende des Datenvektors ein anderes 
Endzeichen (zum Bsp. ASCII "End of Transmission").
Wie kann ich das machen?
grueße, bmtil

von Sam P. (Gast)


Lesenswert?

Indem du die entsprechenden Zeichen einfach sendest?

Such dir den ASCII-Code raus, erstelle einen Null-terminierten Puffer 
mit dem Steuerzeichen oder integriere das in deine sprintf-Statements, 
fertsch.

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
Noch kein Account? Hier anmelden.