Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Странная работа с флагом OFIFG
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
Dog Pawlowa
Помогите люди добрые ...

Кварц только на XT2.
Задача - если кварц не работает, зависнуть с морганием светодиода.
Контроллер работает всегда от DCO.
В этом тексте, если раскомментарить обнулениe флага, то контроллер сбрасывается по непонятной причине. sad.gif
Если не раскомментарить - то сведодиод моргает бесконечно smile.gif

Код
void ClockConfiguration(void)
{    unsigned int i;
  __disable_interrupt();
  
    DCOCTL= 0x56;            //   without changes
    BCSCTL1=0x07;            //   START XT2, DCO faster
    BCSCTL2=SELS;            //    select SMCLK=XT2CLK
    ResetWDT;
    OnWorkRed;
    do
    {    //IFG1 &= ~OFIFG;            
        for (i = 0x3FFF; i > 0; i--)
               ResetWDT;            
          ToggleWorkRed;  
      }
    while (IFG1 & OFIFG);     // if OSCFault flag set => repeat(error)
}
HARMHARM
На первый взгляд все правильно и должно бы работать... Не совсем понимаю, впрочем, зачем сразу включать
Код
BCSCTL2=SELS;

до запуска XT2?
Кстати, насколько я помню, прерывание OF не маскируется по __disable_interrupt(), надо сбросить OFIE. Хотя тоже не должно мешать.
Проверьте куда направлен вектор этого прерывания.
chopik
Опять присоединяюсь к предыдущему оратору: усё логично.
Цитата из агитброшюрки:
The OFIFG oscillator-fault interrupt flag is set and latched at POR or when an
oscillator fault (LFOF, XT1OF, XT2OF, or DCOF set) is detected. When OFIFG
is set, MCLK is sourced from the DCO, and if OFIE is set, the OFIFG requests
an NMI interrupt. When the interrupt is granted, the OFIE is reset
automatically. !!!The OFIFG flag must be cleared by software!!!. The source of the
fault can be identified by checking the individual fault bits.

Т.е. флаг OFIFG надо в любом случае сбрасывать программно.
Dog Pawlowa
Цитата(HARMHARM @ Dec 1 2006, 14:16) *
Проверьте куда направлен вектор этого прерывания.

Угу, похоже, что игры с OFIFG - это далекие отзвуки бубна, зарытого в прерываниях. angry.gif
rezident
Dog Pawlowa, RTFM! И в особенности раздел 4.2. http://www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/4_2.htm
Dog Pawlowa
sad.gif
Это было, как у Лема ("Насморк", кажется, называется роман) - сочетание внешне никак не связанных обстоятельств. Ошибки на плате, ошибки в программе, поэтому долго не мог въехать.
Спасибо за помощь. Закорачиваю кварц - моргает! blink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.