#define norm 1000
uint16_t min = 0xFFF;
uint16_t max = 0;
if (ADC > max) max = ADC;
if (ADC < min) min = ADC;
if ((max-min) > norm) PORTB |= 1<<PB0;
В 12-битном АЦП диапазон 0-5 В преобразуется в значения от 0 до 4095? В этом коде 0xFFF = 4095? Если min и max заданы типом переменной uint16_t , а norm просто 1000 (int?), корректно ли их сравнение? То есть включается ли norm в этот диапазон от 0 до 4095? Не стоит ли min и max заменить на float или обозначить norm как uint16_t norm = 3E8 (1000 в шестнадцатиричной системе)?


