Энергосбережение Avr mega16
Добавлено: Вс мар 02, 2014 15:41:21
Неполучается настроить энергосбережение на mega16 во все режимы заходит но просыпается только из Idle. что я делаю не так?
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
Это цитата из даташит, который гласит, что при Power Down режиме пробуждение возможно только от level interrupt.Only an External Reset, a Watchdog Reset, a Brown-out Reset, a
Two-wire Serial Interface address match interrupt, an External level interrupt on INT0 or
INT1, or an External interrupt on INT2 can wake up the MCU.
Код: Выделить всё
;************************************************
OFF2:
CLR R21
RCALL DELAY
SBIS PIND,2
RJMP OFF2
OUT TCCR0,ZH
LDI R16,$30
OUT MCUCR,R16
LDI R16,$40
OUT GIMSK,R16
LDI R16,$C0
OUT GIFR,R16
SEI
SLEEP
NOP
;************************************************
; Чтение состояния органов
; управления
;************************************************
SCHIT:
CLI
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,HIGH(RAMEND)
OUT SPH,R16
CLR ZH
;***********************
;...............
;...............
;...............
;...............
RJMP SCHIT
;***********************
ISR0:
CLR ZH
OUT GIMSK,ZH
OUT MCUCR,ZH
; LDI R16,$02 ; ENABLE TIM0 PRERIVANIE OVER
; OUT TIMSK,R16
; OUT TIFR,R16
; LDI R16,$04 ; COUNTER TIM0=Fclk/256
; OUT TCCR0,R16
ISR01:
SBIS PIND,2
RJMP ISR01
CLR R21
RCALL DELAY
SBIS PIND,2
RJMP ISR01
RET
;************************************************