SPDR in Structure schreiben?

Gast #492478
Lesenswert?

Hallo zusammen,
Versuche gerade das SPI Datenregister SPDR (nach dem Empfang eines 
Bytes)
an ein struct zu übergeben um auf die einzelnen Bytes zugreifen zu 
können.
Hierbei gibt mir der AVR-GCC jedoch die Fehlermeldung aus:
"request for member bx in something not a structure or union"

habe die Structure wie folgt definiert:

struct
{
b0:1;
b1:1;
...
b7:1;
} prob;

dann später in meiner spi_transmit funktion versuche ich dort das SPDR 
rein zu schieben:

prob = SPDR;

Den Versuch mache ich deshalb weil ich auf Fehlersuche in der 
Datenübertragung bin (SPI Beschleunigungssensor Liefert nur 
Schrottwerte).
Und ich würde mir die Daten des SPDR Registers seriell auf einem Pin 
ausgeben um mir die Daten auf dem Oszi angucken zu können.

Also die Fragen:
1. Warum akzeptiert der GCC die Zuweisung von SPDR nach Strukt nicht?
2. Gäbe es eine "formschönere" Variante?
3. Gibt es eine C Funktion mit der ich Bitweise auf eine Variable 
zugreifen kann, die 1 oder 2 Byte lang ist?

Ne Antwort würde mir helfen, ... und der Fehler leigt nicht in Zeile 42 
... die Angesprochenen werden wissen was ich meine ;)
Gast #492486
Lesenswert?

>1. Warum akzeptiert der GCC die Zuweisung von SPDR nach Strukt nicht?

Äpfel und Birnen...


>2. Gäbe es eine "formschönere" Variante?
Union (wie schon geschrieben...)

>3. Gibt es eine C Funktion mit der ich Bitweise auf eine Variable
>zugreifen kann, die 1 oder 2 Byte lang ist?

bitorientierte Operationen wie "&", "|", "~", "<<", ">>"...

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