Atmega88A запись ADCSRA|=(1<<ADSC) решено.
Добавлено: Пн сен 19, 2022 16:50:16
Совершенно дикая ситуация. Проект на Atmega88A. При старте конверсии АЦП (запись бита ADSC в регистр ADCSRA) окончание преобразования приводит к рестарту программы, т.е. выбрасывает на первую сроку main. В реальном железе выглядит как постоянные перезапуски прошивки, в Студии, как написал, уходит на первую строку main(ProgrammCounter = 0) Отловил, что сброс программного счетчика на ноль происходит при выставлении флага ADIF. Т.е. закончилось преобразование АЦП -- и улетел
Понимаю, что лопатить за меня мой код никто не будет. Но хоть направление может кто подскажет?
Вот так выглядит инициализация АЦП. Ничего вроде необычного
Понимаю, что лопатить за меня мой код никто не будет. Но хоть направление может кто подскажет?
Вот так выглядит инициализация АЦП. Ничего вроде необычного
Код: Выделить всё
// ADC initialization------------------------------------------------------------------------------------------
// ADC enabled
ADCSRA |= (1<<ADPS0) |(1 << ADPS1)|(1<<ADEN)|(1<<ADIE);
ADMUX= CURRENT_ch | ADC_VREF_TYPE;