LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Целочисленная арифметика может прокатить для температуры.

Формула такая: temperature = (((int16_t)BYTE_SWAP(mpu6050_response[3])) / 340.0 + 36.53). Меня вполне устроит два знака после запятой, а значит можно умножить всё на 100.

Попробовал: temperature = (((int32_t)BYTE_SWAP(mpu6050_response[3])) * 100 / 340 + 3653), результат получается не верным. Где я ошибся?

Для ускорения тоже на самом деле подойдут целые числа - ведь мне они нужны чтобы углы наклона находить арктангенсом, а значит главное чтобы они правильно относились. Можно тупо сохранять сырые данные в int16_t, что я уже сделал.

Исходная версия KivApple, :

Целочисленная арифметика может прокатить для температуры.

Формула такая: temperature = (((int16_t)BYTE_SWAP(mpu6050_response[3])) / 340.0 + 36.53). Меня вполне устроит два знака после запятой, а значит можно умножить всё на 100.

Попробовал: temperature = (((int32_t)BYTE_SWAP(mpu6050_response[3])) * 100 / 340 + 3653), результат получается не верным. Где я ошибся?