В процессе изучения микроконтроллеров практикуюсь в создании ампервольтметра!
Читаю про ацп и так далее! В связи с чем вохникло несколько вопросов:
1. Планируется снимать показания с трех точек - следовательно мне необходимо по очереди подключать определенную ногу (ADC0-ADC2)
Для удобства хотелось бы написать макросы их для использования в коде!
согласно даташита мне нужно сконфигугрировать 4 бита MUX0-MUX3 !
Но пока никак не пойму как в одной строке указать явный ноль и явную единицу!
То есть мне нужно три значения
//Макросы
Код: Выделить всё
#define Volt (ADMUX &= ~(1 << MUX3) ~ (1 << MUX2) ~ (1 << MUX1) ~ (1 << MUX0)) // вход ADC0
#define Amper (ADMUX |= (0 << MUX3) | (0 << MUX2) | (0 << MUX1)) | (1 << MUX0)) // вход ADC1
#define Watt (ADMUX |= (0 << MUX3) | (0 << MUX2) | (1 << MUX1) | (0 << MUX0)) // вход ADC2Как правильно записать данные биты Явным образом?
#define Watt (ADMUX |= &~(1 << MUX3) &~ (1 << MUX2) | (1 << MUX1) &~ (1 << MUX0)) // вход ADC2 -- но это я вно неправильная запись
2. Обрабатывать полученные данные можно либо по прерыванию либо просто функцией! Есть ли разница что предпочтительней использовать?


