-         

Ergebnis 1 bis 4 von 4

Thema: WinAVR: Probleme mit Bitfield

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.07.2005
    Beiträge
    87

    WinAVR: Probleme mit Bitfield

    Anzeige

    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 ?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Der Rest wird nicht initialisiert.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.07.2005
    Beiträge
    87
    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 ?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    30.07.2005
    Beiträge
    87
    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
  •