Здравствуйте! Я программирую под тини2313а, в Ардуино ИДИ. Неодобрительные взгляды за использование "Абдурины" просьба перевести в спящий режим - я программирую только на регистрах, даже либы каталога avr/ скуплюсь подключать. Неодобрительные взгляды за то,что ленюсь спросить у ИИ, просьба перевести в спящий режим - ИИ нынче тупой пошёл,и хоть он и лез в Интернет,всё равно приплетает несуществующие регистры и прочую бурду. Так вот,я настраиваю сторожевой таймер как будильник из глубокого сна, но прерывание почему-то вышло на прогулку из МК,оно не вызывается. Пробовал не 8 секунд, а 16 мс - то же самое.Убирал бит прерывания из настройки - ждёт 8-9 секунд, ресетится вместе с прескалером и начинает дискотеку в стиле "а-ля бутлуп". То есть сброс работает. Но в прерывании - нет.
Мой код в майнере -
В самом начале прерывания я моргаю диодом,как на первых строчках. Стартовое моргание нормально, в прерывании не происходит. В чём может быть проблема?
Мой код в майнере -
C++:
int main(){
DDRB |= (...);
DDRA |= (...);
DDRD |= (...);
PORTB |= (1<<DIOD);
_my_delay_ms(100);
PORTB &= ~(1<<DIOD);
USICR |= 0B00100010;
MCUSR &= ~(1<<WDRF);
WDTCSR |= (1<<WDE)|(1<<WDCE);
WDTCSR |= (1<<WDIE)|(1<<WDP0)|(1<<WDP3);
MCUCR = 0B00110011;
GIMSK |= (1<<INT0);
lable:
asm volatile("sleep");
goto lable;
}