чесно говоря сейчас плохо соображаю, попробуй так сделать.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено DSN 27 марта 2004 г. 15:15
В ответ на: Ответ: Ой. Ошибка. Повторяю. отправлено anatolyn 27 марта 2004 г. 14:50

и еще проверь не переполняется ли у тебя стек вызовами процедур и прерываний, а также выключен ли WDT, если вкл, то сбрасываешь ли ты его в основном цикле ?


ORG 0x000 ; processor reset vector
clrf PCLATH ; ensure page bits are cleared
goto main ; go to beginning of program

;===============Модуль_обработки_перрываний============================
ORG 0x004 ;Вход всех прерываний.
movwf wtemp ;сохр W рег.
swapf STATUS,W ;сохранение
clrf STATUS ;статусного
movwf statmp ;регистра.
movf PCLATH,W ;сохранение
movwf ipcl ;расширителя переходов.
movf FSR,W ;сохранение
movwf tmpfsr ;рег. FSR.
clrf PCLATH ;

intc:
;здесь обработка прерываний итд...

endint:
clrf STATUS
movf tmpfsr,W ;
movwf FSR ;
movf ipcl,W ;востановление
movwf PCLATH ;расширителя переходов.
swapf statmp,W ;востановление
movwf STATUS ;регистров
swapf wtemp,F ;изм при обр прерываний.
swapf wtemp,W ;/
retfie ;выход из перрывания.

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

Ответы



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

E-mail: info@telesys.ru