Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Эмуляция запуска АЦП по триггеру в AVR Studio 4
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Дмитрий Анатольевич
У меня в AVR Studio 4 не эмулируется запуск преобразования АЦП по событию, в частности по переполнению Т0. В прерывание по переполнению Т0 вхожу, а в прерывание по АЦП - нет... Это глюк студии?
Код инициализации:
void Init(void)
{ CLI();
SFIOR=0x80; //ADTS2...ADTS0 - тип триггера АЦП - Timer/Counter0 Overflow
// инициализация TIMER0:
TCCR0 = 0x00; //stop
TCNT0 = 0xB2; //set count
OCR0 = 0x4E; //set compare
TIMSK=0x01; //разрешим прерывание по переполнению Т0

//ини АЦП
ADCSRA = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0
ACSR = 0x80;
// èíè ADCSRA
// ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0
// | | +-----------------------------разрешим прерывание
// | +------------------------------------------ разрешение запуска АЦП по сраб. триггера
// +------------------------------------------------------------ разрешим АЦП
//
//
ADCSRA = 0xAC;
TCCR0 = 0x02; //start timer
SEI();
}


cranky.gif
XsanyaX
Симулятор AVR Studio не совсем корректно эмулирует АЦП. Флаг прерывания нужно устанавливать вручную и после входа в прерывание "ручками " устанавливать значение ADC. Но полную отладку можно сделать только JTAG-ом (чем , собственно, и рекомендую воспользоватся)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.