Код: Выделить всё
ADMUX = (1<<REFS0|1<<REFS1|0<<ADLAR);//настройка АЦП
while(1)
{
int n = 0;
int n1 = 0;
//вырезано все лишнее
ADMUX = (0<<MUX0|0<<MUX1|0<<MUX2|0<<MUX3);//выбор канала АЦП
ADCSRA = (1<<ADEN|1<<ADSC|1<<ADPS0|1<<ADPS1|1<<ADPS2);//Запуск АЦП, выбор скорости = 1\128 от скорости проца
_delay_ms(1000); /*задержка 1 секунда*/
n = ADCH;
n1 = ADCL;
//тут еще 10 строк кода, которые все это показывают на LCD дисплейчик
}
Протеус при симуляции делает 1 выборку, потом начинает сыпать ошибками
"result is not written to the ADC register because it has been locked"
Что я делаю не правильно? что может лочить бит АЦП?
Вот только если прерывания что-то ещё делают в АЦП - надо предвидеть. Да и в вашем случае тоже надо это предвидеть.