Zeiger



  • Hallo,
    Ich möchte einen Zeiger auf ein Byte in einem String definieren.
    unsigned char system[8];
    unsigned char *status = &system[5];
    kein Problem, aber wie bekommt man folgendes hin

    If ((*status&0x80)==1) ; //Bit 7 in system[5] = 1 (im Status ist error
    gesetzt)
    soll wie folgt aussehen
    If (*status.error)
    Ich kann eine Structur declarieren
    struct
    {
    unsigned L1 :1;
    unsigned L2 :1;
    unsigned L3 :1;
    unsigned batt_kapp :1;
    unsigned batt_kurz :1;
    unsigned :2;
    unsigned error :1;
    }status = 0;
    Habe so aber kein arry, sondern nur ein BYTE.



  • if((*status).error) ; //Klammern nicht vergessen; oder
    if(status->error) ;
    

    Mach mal die ganzen :1 in deiner struct weg, was sollen die heißen?
    Und warum status = 0 ?

    Und wenn du das Byte schon hast, wo ist das Problem?



  • Taurin schrieb:

    Mach mal die ganzen :1 in deiner struct weg, was sollen die heißen?

    Bitfelder...


Anmelden zum Antworten