Forum: Mikrocontroller und Digitale Elektronik Frage zu interpretation eines Binärensignals


von Bitschubser (Gast)


Angehängte Dateien:

Lesenswert?

Hey, ich würde gerne entsprechend der Tabelle das Binärsignal 
intepretieren, aber irgendwie will es nicht so recht funktionieren. Das 
Signal welches ich erhalte ist das Array rx[]. Mein Code lautet wie 
folgt:

    if(rx[i] >> 7)
    {
        A = ((rx[i] ^ 0b11111111) << 8 )| rx[i+1];
    }else{
        A = ((rx[i] << 8) | rx[i+1]);
    };

Ich möchte in der if-Anweisung zunächst prüfen ob das Bit für das 
Zweierkomplement gesetzt ist, deshalb verschiebe ich es um 7 Stellen.

Sofern es 1, also True ist, kippe ich die Bits, verschiebe sie und füge 
das andere Byte hinten an.

Sofern es 0 ist, entfällt das kippen.

Wo liegt genau der Fehler :( ?

von Bitschubser (Gast)


Lesenswert?

Habs schon selber lösen können, trotzdem vielen Danke :)

    if(rx[i] >>3)
    {
        A = (((rx[i] << 8 )| rx[i+1])^ 0b0000111111111111)+1;
        A=0-A;
        }else{
        A = ((rx[i] << 8 )| rx[i+1]);
        }

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.