Энергосбережение Avr mega16
Энергосбережение Avr mega16
Неполучается настроить энергосбережение на mega16 во все режимы заходит но просыпается только из Idle. что я делаю не так?
- Вложения
-
- 2014-03-02 15-43-03 Скриншот экрана.png
- (29.68 КБ) 551 скачивание
-
- 2014-03-02 15-41-37 Скриншот экрана.png
- (42.92 КБ) 548 скачиваний
-
- 1.c
- (3.14 КБ) 433 скачивания
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Энергосбережение Avr mega16
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.
Это цитата из даташит, который гласит, что при Power Down режиме пробуждение возможно только от level interrupt.
У Вас установлен Rising Edge Interrupt - вот поэтому и не работает.
Все будет только лучше, в крайнем случае - хуже.
Re: Энергосбережение Avr mega16
переделал щас он выходит из спящего режима выполняет прерывание. но почемуто к основной программе не возвращается, бит SE я очистил в прерывании
Re: Энергосбережение Avr mega16
По мне, лучше выходить из прерывания Power Down дождавшись стабильного тактирования, запретом INTx и с очищенным I-флагом, т.е. по RET.
Re: Энергосбережение Avr mega16
и как это записать?
Re: Энергосбережение Avr mega16
Для ATmega8515 (AT90S8515) вход в POWER DOWN по нажатию кнопки "OFF" и выход из него при следующем её нажатии/отпускании.
Спойлер
Код: Выделить всё
;************************************************
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
;************************************************
Последний раз редактировалось akl Вт мар 04, 2014 04:44:06, всего редактировалось 1 раз.
Re: Энергосбережение Avr mega16
А на си нет ничего а то асм я не очень