Gast
#905831
Hallo zusammen
Ich habe hier ein Protokoll zum senden von Daten, die ich eingepackt
habe, geschrieben.
Doch wie entpacke ich diese jetzt?
So dass ich nur noch meine Rohdaten zur verfügung habe?
Hier meine eingepackten daten:
void main()
{
unsigned int i = 0;
unsigned int j = 0;
unsigned int z = 0;
unsigned int rohdaten_l = 9;
unsigned int eingepackte_daten_l;
unsigned char eingepackte_daten[15];
signed char rohdaten[9];
unsigned int16 speed;
unsigned int16 height;
unsigned int16 direction;
signed int16 roll;
signed int16 pitch;
rohdaten[0] = speed;
rohdaten[1] = 0x24;
rohdaten[2] = height;
rohdaten[3] = 0x24;
rohdaten[4] = direction;
rohdaten[5] = 0x24;
rohdaten[6] = roll;
rohdaten[7] = 0x24;
rohdaten[8] = pitch;
for(z=0; z<=14; z++){ eingepackte_daten[z]='\0';
}
eingepackte_daten[0] = ESC;
eingepackte_daten[1] = STX;
j = 2;
for(i=0; i<=4; i++){
if(rohdaten[i] == ESC){
eingepackte_daten[i+j] = ESC;
j++;
eingepackte_daten[i+j] = ESC;
}
else eingepackte_daten[i+j] = rohdaten[i];
}
eingepackte_daten[i+j] = CRC;
eingepackte_daten[i+j+1]= ESC;
eingepackte_daten[i+j+2]= ETX;