[an error occurred while processing this directive]
Надеюсь, это поможет...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Бендер++ 14 ноября 2002 г. 14:59
В ответ на: Вопро по Меге103 выход из Pover Save отправлено Afonja 14 ноября 2002 г. 12:38





aaa



Надеюсь этот кусок поможет
.......
/*Если прерывание TC0 было до прерывания sleep то в первом
ASSR-задержка не отрабатывалась. Отработаем ее здесь до засыпания и
пока прерывания запрещены, если SaveSleepData их разрешит и
произойдет прерывание, то оно уже будет отработано с задержкой из-за
того, что тип прерывания уже установлен "по уровню"
*/
// Write dummy value to Control register
IN R16,OCR0
OUT OCR0,R16
?0005
:
//
Wait until TC0 is updated
IN R16,ASSR
ANDI R16,LOW(7)
BRNE ?0005

/* в данном регистре оставим
только прерывание часов, если оно разрешено
*/
LDI R16,(1<<TOIE0) ;1
AND R16,R25
OUT TIMSK
,R16


//
Запретим WatchDog Timer
ldi R16,((1<<WDTOE)|.... /*
*/
(WDE_V<<WDE)| /*
*/
(WDP2_V<<WDP2)| /*
*/
(WDP1_V<<WDP1)| /*
*/
(WDP0_V<<WDP0)) ;LOW(24)
//
Сбросим бит WDTOE
OUT WDTCR,R16
//
Теперь сбросим и WDE
ANDI R16,~(1<<WDE)
OUT WDTCR,R16
?0009
:
..............
SEI
SLEEP
NOP /*
!!! Обязательно, а то флаги не взодятся */
NOP
NOP
.......




Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru