Цитата(_Diman_ @ Sep 20 2006, 22:58)

В Jtag программа останавливается на этом коде
вероятно уместнее было сказать - подвисает, а не останавливается, а то первое впечатление - что у вас проблема с точками останова возникла..
макрос BIT()
надо полагать такой:
#define BIT(value) (1 << (value))
т.к. если в нем нет скобочек, то условие на котором происходит "подвисание" может быть неверным..
по коду лучше делать так:
#define MUX_SETTINGS (1 <<REFS1)|(1 << REFS0)
#define ADC_SETTINGS (1 <<ADEN)|(1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0)
ADMUX = MUX_SETTINGS | channel; // <- подготовка
ADCSRA = ADC_SETTINGS | (1 << ADSC); // <-- старт (для уверенности в том, что ADEN установлен)
в начале программы не забудьте проинициализировать АЦП значением:
ADCSRA = ADC_SETTINGS;
Цитата
Еще вопрос, может быть отладка останавливается при возникновении прерывания ADC?
нет. Отсутсвие или наличие прерываний никак не влияет на точки останова.
PS: Если же вы самостоятельно не прерываете выполнение программы командой break (Ctrl-F5) и на указанной вами строчке нет точки останова - тогда ищите глюк в вашем JTAG адаптере.