使用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) );