-
-
WinAVR: Probleme mit Bitfield
Hallo zusammen,
ich habe ein Problem mit Bitfields & WinAVR. Hier mein Code:
typedef struct
{
unsigned char m_reserved : 4;
unsigned char m_initFailed : 1;
unsigned char m_magxFailed : 1;
unsigned char m_magyFailed : 1;
unsigned char m_magzFailed : 1;
} stMagxMagyMagzStatus;
int main( void )
{
stMagxMagyMagzStatus test;
test.m_magzFailed = 1;
return 0;
}
Nachdem die Zuweisung ausgeführt wurde steht an der Speicherstelle 0x01. Allerdings zeigt mir der Debugger an, das alle Struct Elemente auf 0x01 sind. D.h. wenn ich versuche ein Bit zu setzten werden gleich alle gesetzt ?! Ich sehe gerade irgendwie den Fehler nicht. Irgendwelche Tips ?
-
Erfahrener Benutzer
Robotik Einstein
Der Rest wird nicht initialisiert.
-
Du hast Recht. Der Rest wird nicht initialisiert. Aber wenn ich einem Bit einen Wert zuweise, dürfen sich nicht alle ändern. Noch jemand einen Tip ?
-
Hat sich geklärt. Der AVRStudio Debugger zeigt es nur falsch an.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen