array entpacken (PIC)

Gast #905831
Lesenswert?

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;

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