[an error occurred while processing this directive]
В даташит на пик16ф877 в пункте 12.11 описан пример как надо сохранять контекст(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено bialix 18 декабря 2002 г. 17:06
В ответ на: Ответ: PIC16F877 Компилер - HT-PICC 8PL3 отправлено Алексей ВМ 18 декабря 2002 г. 16:38

Русский перевод можно взять на www.microchip.ru

По технике описанной в п.12.11 этого руководства получается, что W желательно сохранить в общей области памяти для всех банков 0x70-0x7F
затем при сохранении STATUS банк ОЗУ переключается на банк 0
там сохраняется STATUS & PCLATH

Если твоя процедура обработки прерывания затирает случайно ячейку куда сохранен PCLATH или если в результате каких-то ветвлений ты приходишь к концу прерывания (там где все сохраненные регистры начинают восстанавливаться) не в банке 0 ОЗУ, то здесь лежит корень твоей проблемы почему PCLATH восстанавливается через раз



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

Ответы



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

E-mail: info@telesys.ru