-Конверсия из дополнения до двух-
Используйте число 0xFFFFFFFF в качестве примера. В двоичном формате это:
1111 1111 1111 1111 1111 1111 1111 1111
Что мы можем сказать об этом числе? Его первый (самый левый) бит равен 1, что означает, что он представляет отрицательное число. Именно так обстоят дела в дополнении до двух: ведущая 1 означает, что число отрицательное, начальный 0 означает, что число равно 0 или положительное.
Чтобы увидеть, что это число отрицательное, мы меняем знак этого числа. Но как это сделать? В примечаниях к классу сказано (на 3.17), что для изменения знака нужно просто инвертировать биты (0 переходит в 1, а 1 в 0) и добавляет единицу к полученному числу.
Инверсия этого двоичного числа, очевидно:
0000 0000 0000 0000 0000 0000 0000 0000
Затем мы добавляем один.
0000 0000 0000 0000 0000 0000 0000 0001
Таким образом, отрицательное значение 0xFFFFFFFF равно 0x00000001, более известному как 1. Таким образом, 0xFFFFFFFF равно -1.
-Точка зрения ADC-
Поскольку вы не упомянули количество бит в качестве вывода, вы получите общий ответ:
Значение, которое вы возвращаете, пропорционально используемой ссылке.
10 бит = 1024 шага (от 0 до 1023)
Таким образом, расчет для определения напряжения для вашего результата:
Result_mV = (Опорное напряжение в мВ / 1023) * Результат (десятичное значение с помощью АЦП)
person
Prakash Darji
schedule
02.05.2016