доработал програму для ухода схемы в спящий режиим. всё не плохо потребление 7,5мкА но не могу пробудить внешним перыванием по INT1. в рабочем режиме всё происходит как и задано программно в прерывании, загораются диоды проверочные и т.д. а только уходит в режим PowerDown не пробуждается и не делает прерывание. из Idle так же не выходит. Хотя сделал всё GICR = 0x80;(разрешение прерывания INT1) +подтягивающий резистор PORTD=0x08;(для +5В на INT1) + MCUCR = 0xa0(спящий режим powerdown); + asm("sleep");
вот само прерывание
#pragma interrupt_handler int1_isr:3 void int1_isr(void) { //external interupt on INT1 WDTCR=0x1F; WDTCR=0x0F; LED_ON; PORTB = 0x10; PORTC = 0xfe; PORTD = 0x0f; LED_ON; } если бы порты конфигуриролись как написано то всё бы на плате светилось после замыкания INT на землю). в рабочем режиме замыкаю INT1 на землю всё светится. после ухода в спячку пробуждатся по этому прерыванию не хочет = на плате темнота))
вот подсказанная мне информация из даташита на М8 "Low level interrupts on INT0/INT1 are detected asynchronously. This implies that these interrupts can be used for waking the part also from sleep modes other than Idle mode."
Подскажите что это может быть!???
--------------------
Самурай без меча - такой же, как самурай с мечом, только без меча
|