Datenempfang via serielle Schnittstelle



  • Moin,

    ich möchte in meinem Programm (VS2010) Binärdaten von einer IMU empfangen. Beim Einlesevorgang über COMPORT unterscheiden sich die empfangenen Werte jedoch komplett von denen, die ich zum Beispiel über HTerm oder Hercules empfange.
    Beim Debuggen fällt auf, dass viele Bytes mit negativem Dezimalwert dabei sind:

    [4] = 0
    [5] = 1 ''
    [6] = -1 'ÿ'
    [7] = -1 'ÿ'
    [8] = -1 'ÿ'
    [9] = -123 '…'
    

    Weiß jemand was Abhilfe schaffen kann?

    Liebe Grüße und Danke im Voraus



  • Beim Debuggen fällt auf, dass viele Bytes mit negativem Dezimalwert dabei sind:

    Das ist nur eine Frage der Darstellung.

    -1 dezimal (signed) oder 255 dezimal (unsigned) bedeutet einfach 0xff hex bzw. 11111111 binär.



  • Joa, sieht halt so aus als ob du deinen Eingangspuffer als char deklariert hast und nicht als unsigned char.
    char wird im Bereich von -127 bis +127 abgebildet und unsigned von 0 bis 255. Mach ein unsigned char draus und schon klappts 😉


Anmelden zum Antworten