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.

[参考译文] 我有项目代码想要清除振荡器故障标志,但它没有帮助

Guru**** 2387830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/620986/i-had-project-code-want-to-clear-the-oscillator-fault-flag-but-it-didn-t-help

你好

我有一个项目初始化PIN PJ.4和PJ.5作为驱动LED的IO,我的项目代码必须测试
HFXT振荡器故障标志,因此,振荡器故障无法清除。
下面是我的项目代码:

cstartup.s43文件

1. BIC.W #LOCKLPM2,&PM5CTL0                //禁用GPIO开机默认高阻抗模式
2. bis.B #BIT0,&P1DIR                //将WFP 1.0 设置为输出方向
3. bis.B #BIT0,&P1OUT                  // WFP 1.0 输出高
4. BIS.B #BIT4,&P7DIR                   //输出SMCLK
5. bis.B #BIT4,&P7SEL1                  //输出SMCLK
6. bis.B #BIT4,&P7SEL0

main.c文件

1.无效主电源(无效)
2.{
3. WDTCTL = WDTPW | WDTHOLD;                    //停止WDT
4. FRCTL0 = FRCTLPW | NWITS_1;
5. PJDIR |= BIT4 + BIT5;                     //将WFP 7.4 的7.5 设置为输出方向
6. PJOUT |= BIT4 + BIT5;               //输出高
7.//时钟系统设置
8. CSCTL0_H = CSCKEY >> 8;               //解锁CS寄存器
9. CSCTL1 = DCOFsel_4| DCORSEL;                 //将DCO设置为16MHz
10.
11. CSCTL3 = DIVs__1 | DIVM__1;
12. CSCTL4 |= LFXTOFF;
13.行动
14.{
15. CSCTL5 &=~HFXTOFFG;              //清除HFXT故障标记
16. SFRIFG1 &=~OFIFG;
17.}同时(SFRIFG1&OFIFG);             //测试振荡器故障标志,无法清除
18. CSCTL0_H = 0;                //锁定CS寄存器
19. P1OUT ^= BIT0;                 //切换WFP 1.0
20.同时(1);
21.}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此代码不按数据表表6-33中所示配置HFXIN/HFXOUT引脚。

    OFIFG是所有振荡器故障标志的组合,因此只要为LFXT配置了ACLK,只要不清除LFXTOFFG,它就会保持设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你们太棒了,你们提醒我,ACLK是LFXT的默认值,我将ACLK的来源从VLOCLK更改为VLOCLK,问题已经解决了。谢谢。
    CSCTL2 |=拉美_ VLOCLK;