Я делаю спящий режим обычным (idle):
Код
SMCR = _BV(SE); // Idle sleep mode
А АЦП хочу запускать от таймера:
Код
ADCSRA = _BV(ADEN) | _BV(ADATE) | _BV(ADIE) | 5;
ADCSRB = 3; // запуск по Timer/Counter0 Compare Match A
несмотря на это он запускается каждый раз, как только процессор входит в спящий режим. Более того, если выкинуть команду sleep, то он не запускается вообще, даже от таймера. Как же заставить его работать по таймеру?
Нашел, оказывается
7.1 Idle Mode
<...>
If the ADC is enabled, a conversion starts automatically when this mode is entered.
Чем же тогода этот sleep отличается от ADC Noise Reduction Mode? И как войти в спящий режим не запуская АЦП?
Сообщение отредактировал 777777 - Apr 29 2010, 05:54