реклама на сайте
подробности

 
 
> работа с LPM4, проблема выхода из LPM4 связанная с запуском XTAL1
SZ0
сообщение Apr 28 2008, 19:39
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



Проц 430F2002. ACLK тактируется от XTAL1 32768 Гц. Остальное от DCO. При входе в LPM4 ACLK выключается. А при выходе (поступило прерывание) биты CPUOFF, SCG1 и OSCOFF в SR сбрасываются. Что приводит к запуску ACLK. А т.к. на его запуск требуется время, то такой "холодный" старт сразу приводит к ошибке. В итоге (пока писал вопрос) решил вот так выходить из положения:

программа входит в LPM4. При нажатии клавиши происходит выход из LPM4. Но т.к. XTAL1 не может сразу запуститься, это приводит к обработке ошибки запуска XTAL1. И по вектору обработки ошибки снова происходит его настройка.

Код
;вектора

ORG    0xFFFE
DC16    init    ;
ORG    0xFFFC
DC16    error_
ORG    0xFFE4    ;
DC16    P1_IO


init:

;настройки регистров....

bis.b    #_key,&P1OUT    ;
bis.b    #_key,&P1REN    ;P1.5 pullup
bis.b    #_key,&P1IES    ;P1.5 hi/low edge

;запуск XTAL1
call    #on_XTAL1

eint

main:

bic.b    #_key,&P1IFG;P1.5 IFG Cleared
bis.b    #_key,&P1IE;P1.5 Interrupt enabled
bis    #LPM4,SR    ;LPM4
nop

jmp    main

;обработка нажатия клавиши

P1_IO:

bic    #LPM4,0(SP);LPM4
bic.b    #_key,&P1IFG

reti

;ошибка XTAL1

error_:
    call    #on_XTAL1
    reti


Может есть другой способ выхода из LPM4 при использовании внешнего кварца для XTAL1?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 05:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01311 секунд с 7
ELECTRONIX ©2004-2016