dominik699
04.09.2010, 22:32
hallo,
möchte einen kleinen netzwerk stack schreiben.
dabei sieht der header wie folgt aus:
8bit adresse
2bit addressentyp
4bit messagetype
1bit ack
1bit nack
habe den hader also in eimen struct mit bitfeldern angelegt:
typdef struct
{
uint8_t adresse;
uint8_t adresstype:2;
uint8_t messagetype:4;
uint8_t ack:1;
uint8_t nack:1;
}header_t;
jetzt will ich das ganze versenden. zuerst die 8 bit adresse und dann die 8 bit restlichen header (ack, nack, messagetype....). gibt es eine möglichkeit auf die gesamten zweiten 8 bit zuzugreifen.
soweit ich das verstanden habe, ist nicht garantierte, wie und wo der compiler die bitfelder ablegt. somit hat es mit pointern auch keinen sinn. oder verstehe ich da etwas falsch. das ganze sollte noch halbwegs schnell laufen, da recht viele pakete versendet werden.
mfg
dominik
möchte einen kleinen netzwerk stack schreiben.
dabei sieht der header wie folgt aus:
8bit adresse
2bit addressentyp
4bit messagetype
1bit ack
1bit nack
habe den hader also in eimen struct mit bitfeldern angelegt:
typdef struct
{
uint8_t adresse;
uint8_t adresstype:2;
uint8_t messagetype:4;
uint8_t ack:1;
uint8_t nack:1;
}header_t;
jetzt will ich das ganze versenden. zuerst die 8 bit adresse und dann die 8 bit restlichen header (ack, nack, messagetype....). gibt es eine möglichkeit auf die gesamten zweiten 8 bit zuzugreifen.
soweit ich das verstanden habe, ist nicht garantierte, wie und wo der compiler die bitfelder ablegt. somit hat es mit pointern auch keinen sinn. oder verstehe ich da etwas falsch. das ganze sollte noch halbwegs schnell laufen, da recht viele pakete versendet werden.
mfg
dominik