Энергосбережение Avr mega16

Обсуждаем контроллеры компании Atmel.
Ответить
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

Неполучается настроить энергосбережение на mega16 во все режимы заходит но просыпается только из Idle. что я делаю не так?
Вложения
2014-03-02 15-43-03 Скриншот экрана.png
(29.68 КБ) 554 скачивания
2014-03-02 15-41-37 Скриншот экрана.png
(42.92 КБ) 551 скачивание
1.c
(3.14 КБ) 438 скачиваний
Реклама
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

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 - вот поэтому и не работает.
Все будет только лучше, в крайнем случае - хуже.
Реклама
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

переделал щас он выходит из спящего режима выполняет прерывание. но почемуто к основной программе не возвращается, бит SE я очистил в прерывании
akl
Друг Кота
Сообщения: 4448
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

По мне, лучше выходить из прерывания Power Down дождавшись стабильного тактирования, запретом INTx и с очищенным I-флагом, т.е. по RET.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

и как это записать?
Реклама
akl
Друг Кота
Сообщения: 4448
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Для 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 раз.
Реклама
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Сообщение Кинг »

А на си нет ничего а то асм я не очень
Ответить

Вернуться в «AVR»