Rohdaten des BNO055 auswerten

Gast #5845269
Lesenswert?

Hallo Community,

ich lese Sensorinformationen des BNO055 aus, laut Datenblatt werden die 
Rohdaten als 2Byte signed ausgegeben in 2Register a 1Byte also LSB und 
MSB. Da ich keine weiteren Informationen dort gefunden habe gehe ich 
davon aus, dass sich die Werte als 2er Komplement berechnen lassen. Nun 
werte ich die Hex-Informationen mit Matlab aus und bekomme für alle 
3-Achsen nur negative Werte, welches theoretisch nicht sein dürfte. Ich 
vermute der Fehler liegt in der Umrechnung der Hex-Werte, in Matlab 
verwende ich dafür allerdings feste Funktionen, die nicht falsch sein 
können ...
Das ist der Matlab-Code:

Hier werden die Werte LSB und MSB getauscht, da das Register was zuerst 
gelesen wird das LSB-Register ist.
    lsb = Y_Data{i}(1:2);
    msb = Y_Data{i}(3:4);
    Y_Data{i}(1:2) = msb;
    Y_Data{i}(3:4) = lsb;
    data = Y_Data{i};

Hier wird das 2er Komplement berechnet

    a = num2str(hexToBinaryVector(data));
    a= a(~isspace(a));
    d = mvl2dec(a,true);
    Y_Data{i}= num2str(d);

Meine Frage lautet: Habe ich was an 2 byte signed falsch verstanden?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren