主题中讨论的其他器件: MSP430F2272、 MSP430FR5969
我正在使用具有 msp430fr58891的新电路板。 我不断遇到振荡器故障。 在我要求 PCB 设计人员将晶体移到更靠近芯片的位置之前、我希望有人仔细检查我的代码。 LFx 引脚是悬空的、我们已要求在下一个版本中将其终止。 第4.6节提供了有关未使用引脚的建议、但未提供有关未使用 LFx 引脚的建议、是否应将其连接到 VSS?
那么、我的代码中是否有任何错误会导致 SFRIFG1_bit.OFIFG 中的 OSC 故障?
我已经进行了多次更改、试图纠正、但没有什么帮助。
我将 MCLK 和 SMCLK 切换到以4和16MHz 频率运行的内部 DCO 、但这没有帮助。
我增加了 HFDRIVE、但又没有增加。
我的 LaunchPad 演示板具有5969、但 DCO 有同样的问题(LaunchPad 没有为 HFX (XT2)安装晶体)。
静态空 Start_XT1 (void){
uint16_t i;
uint16_t status;
CSCTL0 = 0xA500;//PWD GAA
// CSCTL1 = 0x0006;//DC0范围选择:4MHz GAA
CSCTL1 = 0x0048;//DC0范围选择:16MHz GAA
CSCTL2 = 0x0055;//ACLK=LFXT (或 VLOCLK)、SMCLK=HFXT (或 DCOCLK)、MCLK=HFXT (或 DCOCLK) GAA
// CSCTL2 = 0x0033;//ACLK=LFXT (或 VLOCLK)、SMCLK=DCOCLK、MCLK=DCOCLK GAA
// CSCTL3 = 0x0000;//ACLKDIV=1、SMCLKDIV=1、MCLKDIV=1 GAA
CSCTL3 = 0x0011;//ACLKDIV=1、SMCLKDIV=2、MCLKDIV=2 GAA
// CSCTL4 = 0x0000;//HFXT、LFXT:HFXTDRIVE= 00、HFFREQ= 00 0-4MHz 5969 GAA
// CSCTL4 = 0x0800;//HFXT、LFXT:HFXTDRIVE= 00、HFFREQ= 01 8-16MHz GAA
// CSCTL4 = 0x4800;//HFXT、LFXT:HFXTDRIVE= 01、HFFREQ= 01 8-16MHz GAA
// CSCTL4 = 0x8800;//HFXT、LFXT:HFXTDRIVE= 10、HFFREQ= 01 8-16MHz GAA
CSCTL4 = 0xC800;//HFXT、LFXT:HFXTDRIVE= 11、HFFREQ= 01 8-16MHz GAA
CSCTL5 = 0x0080;//LFXT&HFXT FaultCntrEnable:HFXT 故障标志被启用
// CSCTL6 = 0x0000;//MODCLK、SMCLK、MCLK、ACLK 请求使能:全部被禁用
CSCTL6 = 0x000F;//MODCLK、SMCLK、MCLK、ACLK 请求使能:全部被使能
PJSEL1_BIT.PJSEL1_6 =0;// msp430fr58891 64引脚:HFXOUT PJ.7引脚54 HFXIN PJ.6引脚55
PJSEL0_bit.PJSEL0_6 =1;
/do{
SFRIFG1_bit.OFIFG = 0;//清除 OSC 故障标志 IFG1_bit.OFIFG = 0;
for (i = 0;i < 1000;++I){dumme++;};
} while (SFRIFG1_bit.OFIFG);//如果仍然设置 IFG1_bit.OFIFG,则不要继续
状态= 1;
}