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 :( ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
