Обрати внимание:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Сергей Борщ 26 октября 2004 г. 19:45
В ответ на: Дык бит OFIFG сбрасывать надо перед проверкой. отправлено rezident 26 октября 2004 г. 19:18

У меня в примере, при входе в прерывание сбрасывается SELM2 в BCSCTL2. Иначе последующая его запись не будет иметь эффекта. Судя по всему, переключение на XT происходит при перекидывании этого бита из 0 в 1. А поскольку при аварийном переключении на DCO этот бит автоматически не сбрасывается, его надо сбросить принудительно.
А если он у тебя крутится в цикле - значит кварц не запустился.
Еще обрати внимание - в исходном письме ты выключаешь XT2 (BCSCTL1 = XT2OFF+XTS+RSEL1+RSEL2;) а потом пытаешься на него переключить MCLK (BCSCTL2 = SELM1+SELM0+SELS;)
А в этм сообщении ты пытаешься переключиться на XT, и запускаешь его в режиме high frequency, но XT2 при этом не выключаешь, следовательно он тоже участвует в формировании OFIFG.
Где же у тебя висит кварц?
Если на XT2 - то надо BCSCTL1 = DIVA_2; без XTS, иначе ты включишь и XT1 в формирование OFIFG, и потом BCSCTL2 = SELM_2 + SELM_1 + DIVM_0 + SELS + DIVS_2;
Если на XT1 - то надо BCSCTL1 = XT2OFF+XTS+RSEL1+RSEL2; как у тебя в первом сообщении, но потом BCSCTL2 = SELM1+SELS;

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

Ответы



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

E-mail: info@telesys.ru