У меня есть АЦП (AD7767), который я использую для измерения дифференциального сигнала. Данные, поступающие от АЦП, представляют собой первое 24-битное значение дополнения 2 MSB. Я хочу преобразовать это значение в напряжение. Используемое опорное напряжение составляет 5 вольт. Я использую Arduino IDE. То, что у меня есть до сих пор, в основном это:
const long minValue = 0x800000;
const long maxValue = 0x7FFFFF;
signed long result = 0;
....
long voltage = (result * 0x5) / maxValue;
Serial.println(voltage);
Это печатает значение 0.
Какие значения:
result = 1010101101010101
0x5: он же Vref
(result * 0x5) = 110101100010101001
(result * 0x5) / maxValue = 0