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.

[参考译文] MSP430FR5989:MSP430FR5989

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/930029/msp430fr5989-msp430fr5989

器件型号:MSP430FR5989

您好!  

我不确定这是报告这一问题的适当场所,但我先从这里开始,如果它不是报告这一问题的适当场所,我将在晚些时候提出这一问题。  

在 MSP430fr5989中、我们在日历模式中使用 RTC_C。 我们开发了一组测试代码来验证 时间事件的生成

可能的时间事件包括:

  • 分钟
  • 小时  
  • 中午
  • 午夜时分

文档  SLAU367O–2012年10月–2017年12月修订 版为我们提供了寄存器 RTCCTL1中的值   

1-0 RTCTEVx RW 0h 实时时钟时间事件
日历模式(RTCMODE = 1)
00b =分钟更改
01b =小时更改
10b =每天午夜(00:00)
11b =每天中午(12:00)<--- 针对中午事件
计数器模式(RTCMODE = 0)的值3
00b = 8位溢出
01b = 16位溢出
10b = 24位溢出
11b = 32位溢出 

我们还使用 driverlib 代码来帮助我们对模块进行编程

在 rtc_c.h 中、中午事件定义为  

#define RTC_C_CALENDAREVENT_Noon                    (RTCTEV_2)

反过来、RTCTEV_2值  被定义为  

#define RTCTEV_2         (0x0002)    /* RTC 时间事件:2 (12:00已更改)*/


这些定义与芯片的规格不一致。  

我目前的工作是在我需要中午时使用午夜、在我需要午夜时使用中午和中午。  

这对于将在2069年阅读我的代码的人来说也是非常令人困惑 的:-)

是否有办法解决此问题?

我已验证 MCU 确实希望在中午达到值3、而不是驱动程序中记录的值2。

感谢您的善意帮助  

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

    您好!

    这看起来很有趣。 您是否尝试将头文件中 RTC_C_CLENDAREVENT_Noon 的定义更改为0x0003?  

    此致、

    现金 Hao

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

    现金、

    非常感谢您的回答。

    我没有尝试将  RTC_C_CLENDAREVENT_Noon 更改为0x0003,我认为,我正确地认为:-)这个代码是第三方代码。  

    如果我在不咨询此代码发布者的情况下执行此操作、我将在下一个版本的此代码中制造困难。  

    我真的可以认为这个代码是可修改的,也是我们的源代码的一部分,但这会破坏一些我多年来学会尊重的安全原则:-)

    如果 TI 认为这确实是一个错误、我可以提交一个补丁以供以后集成。 但是、在此阶段、我无法访问此代码的存储库。

    再次感谢您的盛情帮助

    此致

    Jean-Pierre Saintfeld