所以這個傳感器通過返回兩個(高和低)有符號字節返回一個-500-500之間的有符號值。我如何使用這些來確定實際價值是什麼?我知道我需要做2的補充,但我不知道如何。這是我現在有 -從2個16位有符號字節獲取帶符號整數?
real_velocity = temp.values[0];
if(temp.values[1] != -1)
real_velocity += temp.values[1];
//if high byte > 1, negative number - take 2's compliment
if(temp.values[1] > 1) {
real_velocity = ~real_velocity;
real_velocity += 1;
}
但它只是返回什麼是積極的負值。例如,-200返回字節255(高)和56(低)。增加了這些311.但是,當我運行上面的代碼它告訴我-311。感謝您的任何幫助。
請指定語言(和搜索第一)。 – 2012-03-16 00:31:59
我已經搜索,但我只找到約1個字節的東西,而不是兩個組合。 – Sterling 2012-03-16 00:33:52
標題說16位字節,但文本暗示8位字節。這是什麼? – 2012-03-16 00:35:23