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.

[参考译文] MSP430F5510:MSP430F5510 RTC 不能正常工作。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1181326/msp430f5510-msp430f5510-rtc-doesn-t-work

器件型号:MSP430F5510

尊敬的所有人:

我设计的 PCB 在 XIN 和 XOUT 之间连接了 XT1外部32.768kHz 晶体。

我正在  尝试配置 RTC_A 并在软件中每分钟切换一次 P1.1和 P1.2输出。

但 RTC 不起作用。 出什么问题了?

这是 我的代码;

 #include <msp430f5510.h>

 #pragma vector = RTC_VECTOR      //RTC interrupt service

 __interrupt void TOG_min(void)

 {  

    if(RTCTEVIFG == 1) 

    {

       P1OUT ^= 0x06;

    }

 }



int main(void)

{

  WDTCTL = WDTPW | WDTHOLD;



  P1SEL &=~(0x06);

  P1DIR |= (BIT1 + BIT2);

  P1OUT |= 0x06;

  P5SEL = 0x30;

  P5DIR |= 0x20;



  RTCCTL0 |= (RTCTEVIE + RTCRDYIFG);

  RTCCTL1 |= (RTCBCD + RTCHOLD +RTCMODE + RTCSSEL_ACLK + RTCTEV_0);



  RTCYEARH = 0x20;

  RTCYEARL = 0x22;

  RTCMON = 0x12;

  RTCDAY = 0x05;

  RTCDOW = 0x00;

  RTCHOUR = 0x10;

  RTCMIN = 0x01;

  RTCSEC = 0x01;



  RTCCTL1 &= ~RTCHOLD;

  __bis_SR_register(LPM3_bits + GIE);



 while(1);

}

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

    >IF  (RTCTEVIFG = 1)  

    由于 RTCTEVIFG = 4、此测试始终为 False。 我怀疑您的意思是:

     IF (RTCCTL0和 RTCTEVIFG)  

    不要忘记在之后使用"RTCCTL0 &=~RTCTEVIFG"将其清除、或者使用 RTCIV 寄存器。

    ----

    查看 RTC 是否正在运行的最简单方法可能是等待几秒钟、暂停调试器、看看 RTCSEC/RTCMIN 是否与您设置的不同。

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

    Yumi、您好!

    将代码发布到论坛时,请使用代码插入按钮格式化“插入”、 代码。 我已编辑了您的帖子以反映这一点。  

    除了 Bruce 的评论之外、还可以使用以下示例代码仔细检查您的外部晶体是否正常运行: https://dev.ti.com/tirex/explore/node?node=A__AAbdlkLHGBFsUC9B8poxrA__msp430ware__IOGqZri__LATEST 

    如需更多晶振调试、请参阅以下应用手册: www.ti.com/lit/slaa322 

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

    感谢你的建议。

    我按照您的建议修改了代码 、但 RTC 仍然不起作用。

    我还需要添加任何其他代码吗?

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

    感谢您的友好和评论。

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

    如何判断 RTC 不工作?

    您是否尝试了 Jace H 建议的程序?

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

    我按照 Jace H 的建议创建了一个新代码 、但它不起作用。

    测试板似乎有问题。

    我将重新创建测试板、如果有任何问题、请再次寻求帮助。

    谢谢你。