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

 
 
> Странная работа с флагом OFIFG
Dog Pawlowa
сообщение Dec 1 2006, 13:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Помогите люди добрые ...

Кварц только на 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)
}


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
chopik
сообщение Dec 1 2006, 15:17
Сообщение #2





Группа: Новичок
Сообщений: 7
Регистрация: 14-09-06
Пользователь №: 20 384



Опять присоединяюсь к предыдущему оратору: усё логично.
Цитата из агитброшюрки:
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 надо в любом случае сбрасывать программно.
Go to the top of the page
 
+Quote Post



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

 


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


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