Johannes schrieb:
> Hallo,
> ich möchte gerne einen Struct erstellen, mit dem ich ein Register
> beschreiben kann.
>
>
1 | > typedef struct C1RX0B1{
|
2 | > unsigned char BYTE0:8;
|
3 | > unsigned char BYTE1:8;
|
4 | > } CAN1_Buffer0;
|
5 | >
|
Das definiert erst mal nur einen Datentyp. Sozusagen die Blaupause. So
würde eine Variable vom Typ 'CAN1_Buffer0' aussehen, wenn du eine
definieren würdest.
> Im code schreibe ich dann
>
1 | > if(CAN1_Buffer0.BYTE0 == 0){...}
|
2 | >
|
>
>
> Dann bekomme ich allerdings den fehler
> error: expected expression before 'CAN1_Buffer0'
Logisch. CAN1_Buffer0 ist ja keine Variable, sondern der Name des
Datentyps. So wie int oder long oder char oder double.
> weiss jemand, was daran noch falsch ist?
Ich weiss, was dir fehlt.
Ein C-Buch und die Zeit das mal in Ruhe durchzuarbeiten.
typedef nicht verstanden?