Цитата(Sirko @ Feb 1 2013, 11:36)

Понятное дело, что я что то делаю не так.
Угу - включив непрерывное преобразование, пытаетесь работать по прерываниям АЦП. Если Ваша программа в обработчике прерывания проводит время, соизмеримое или большее времени преобразования (программисты иногда вставляют в ISR что-нить вроде delay_ms() или printf()), то ...
Такая комбинация может иметь смысл, н-р, при низкой скорости тактирования АЦП и считывании результата преобразования по ещё более редкому прерыванию таймера, если время запуска преобразования не важно.
Цитата
Судя из строк "ADIF is cleared by hardware when executing the corresponding interrupt handling vector. " флаг должен сброситься при входе в прерывание, но что-то, где-то не стыкуется.
А где написано, что ADIF не может быть установлен, пока программа ковыряется внутри ISR(ADC_vect)? Вот и получается песня про Сусанина "он из лесу вышел, и снова вошёл".
Ещё вариант - разрешено более другое прерывание.