Gast
#5845269
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?