Bumbum
31.05.2013, 14:12
Hallo,ich habe eine Frage. Es geht um einen Schönheitsfehler. Ich habe (im groben) folgendes Programm:
struct Data{ U8 Data1; U16 Data2; //...};void workOnData (struct Data *receivedData){ //...}int main (void){ U8 Buffer[20]; U8 offset; receiveData (&Buffer[0], &offset); workOnData (&Buffer[offset]); return (0);}Ich empfange den Inhalt für die Struktur "Data" via RS232 in ein das Byte-Array Buffer. Der Offset, ab wann die Daten für die Struktur stehen ändert sich und ich erhalte es in der Variable Offset.Den Pointer auf den Start der Daten für die Struktur übergebe ich dann der Funktion workOnData. Das ganze funktioniert, allerdings erhalte ich von AVR-Studio folgende Fehlermeldung:warning: passing argument 1 of 'workOnData' from incompatible pointer typeDie Ursache für die Warnung ist wohl der unterschiedliche Pointer-Typ. Ich bin mit C-Pointern nicht so richtig fit. Gibt es eine Möglichkeit diese Warnung zu vermieden?Viele GrüßeAndreas
struct Data{ U8 Data1; U16 Data2; //...};void workOnData (struct Data *receivedData){ //...}int main (void){ U8 Buffer[20]; U8 offset; receiveData (&Buffer[0], &offset); workOnData (&Buffer[offset]); return (0);}Ich empfange den Inhalt für die Struktur "Data" via RS232 in ein das Byte-Array Buffer. Der Offset, ab wann die Daten für die Struktur stehen ändert sich und ich erhalte es in der Variable Offset.Den Pointer auf den Start der Daten für die Struktur übergebe ich dann der Funktion workOnData. Das ganze funktioniert, allerdings erhalte ich von AVR-Studio folgende Fehlermeldung:warning: passing argument 1 of 'workOnData' from incompatible pointer typeDie Ursache für die Warnung ist wohl der unterschiedliche Pointer-Typ. Ich bin mit C-Pointern nicht so richtig fit. Gibt es eine Möglichkeit diese Warnung zu vermieden?Viele GrüßeAndreas