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.

[参考译文] msp430f5659:内部RTC问题

Guru**** 2535750 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/660035/msp430f5659-internal-rtc-issue

部件号:MSP430F5659

您好,

我正在使用msp430f5659微控制器。 我正在使用TI给出的示例连接内部RTC模块。 我的RTCis工作正常,但有时会卡在"做时"循环中。 我在不同的硬件设备上执行了此操作,但我在所有硬件上都面临相同的问题。 我正在使用32.768kHz的晶振。

我在VBAT引脚上使用3.6V的电池,470nf的电容器连接到vbak引脚。 为什么会出现此问题? 请帮助我找到上述问题的解决方案。

   While (BAKCTL和LOCKBAK)                  //解锁XT1引脚以进行操作
       BAKCTL &=~(LOCKBAK);

    UCSCTL6 &=~(XT1OFF);                    // XT1开
    UCSCTL6 |= XCAP_3;                       //内部负载盖
   做
    {
      UCSCTL7 &=~(XT2OFFG + XT1LFOFFG + DCOFFG);
                                              //清除XT2,XT1,DCO故障标志
      SFRIFG1 &=~OFIFG;                     //清除故障标志
    } While (SFRIFG1&OFIFG);                  //测试振荡器故障标志

    RTCCTL01 |= RTCHOLD + RTCBCD ;// BCD模式,RTC保持,启用RTC读取就绪中断

    RTCYEAR = 0x2017;                        // Year = 0x2011
    RTCMON = 0x10;                           //月= 0x06 =六月
    RTCDAY = 0x30;                           //天= 0x22 = 22
    RTCDOW = 0x05;                           //星期几= 0x05 =星期五
    RTCHOUR = 0x14;
    //小时= 0x11
    RTCMIN = 0x10;                           //分钟= 0x59
    RTCSEC = 0x00;                           //秒= 0x45

    RTCCTL01 &=~(RTCHOLD);                  //启动RTC日历模式

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

    您好,Shaifali:

    振荡器故障标志表示DCO或XT1振荡不正常。 VBAT不应超过3.6 V,CBAK应为4.7 nF,CVCORE应为470 nF,CDVCC:CVCORE比率应大于10:1。 任何不符合数据表中推荐的工作条件中的这些值的情况均违反TI的操作规范。 如果使用内部负载盖,则无需使用外部负载盖,但建议使用以提高可靠性。  有关晶体设计的更多信息: http://www.ti.com/lit/an/slaa322d/slaa322d.pdf 

    此致,
    Ryan