This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OFIFG的晶振故障标志位不能清除



使用F5529的CPU在经过电场干扰后,外部看门狗对CPU复位不能正常工作。

使用示波器量外部高速的8M晶振是有起振,且频率也对。

但是CPU执行到等待晶振稳定一步就不能执行下去,OFIFG标志位一直清不掉,经过1S多后,外部看门狗又对CPU复位。一直这样。

只有在重新上电复位才能执行下去。

以下是晶振初始化代码。卡在红色部分

void Init_Clock(void)
{
P5SEL |= BIT2+BIT3; // Port select XT2
P5SEL |= BIT4+BIT5; // Port select XT1

UCSCTL6 = XCAP_3;
UCSCTL6 &= ~XT2OFF;
UCSCTL6 &= ~(XT1OFF); // XT1 On

do
{
UCSCTL7 &= ~(XT1LFOFFG + DCOFFG + XT2OFFG);
SFRIFG1 &= ~OFIFG;
}while ( (SFRIFG1 & OFIFG) );