hi

jo, das ist schon möglich.

bekommst du vom gps immer gleichviele daten?

wenn ja, würde ich das etwa so machen:

Code:
#define HEADER_SIZE xBytes
#define GPS_DATA_SIZE yBytes
#define CRC_SIZE zBytes

unsigned char frame[HEADER_SIZE + GPS_DATA_SIZE + CRC_SIZE];
=> du baust dir ein array, welches so gross ist, dass Header, GPS-Daten sowie CRC darin platz haben.

während dem initialisieren kopierst du dir die immer gleichen header-daten rein

Code:
unsigned char i;
for(i=0;i<HEADER_SIZE; i++){
    frame[i] = header_data[i];
}
die gps-daten kannst du jetzt auch gerade reinkopieren:

Code:
unsigned char i;
for(i=HEADER_SIZE;i<GPS_DATA_SIZE + HEADER_SIZE; i++){
    frame[i] = get_gps_byte()
}
und am schluss nach analog die checksumme ...


cu

chris