打印
[研电赛技术支持]

GD32 RTC时钟配置外部低速时钟注意点

[复制链接]
931|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2020-9-8 12:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在按照GD32F350官方demo板提供的历程做RTC时,发现外部低速时钟不能用,用内部低速时钟不设置时间时,大多数时间都不正常,现象表现为时、分、秒走得很快,日期能加一天,经过调试,原来是开发板提供的例程有误,

void rtc_pre_config(void)
{
    /* enable access to RTC registers in backup domain */
    rcu_periph_clock_enable(RCU_PMU);
    pmu_backup_write_enable();

    #if defined (RTC_CLOCK_SOURCE_IRC40K)   
          /* enable the IRC40K oscillator */
          rcu_osci_on(RCU_IRC40K);
          /* wait till IRC40K is ready */
          rcu_osci_stab_wait(RCU_IRC40K);
          /* select the RTC clock source */
          rcu_rtc_clock_config(RCU_RTCSRC_IRC40K);
  
          prescaler_s = 0x18F;
          prescaler_a = 0x63;
    #elif defined (RTC_CLOCK_SOURCE_LXTAL)
           /* enable the IRC40K oscillator */
          rcu_osci_on(RCU_LXTAL);
          /* wait till IRC40K is ready */
          rcu_osci_stab_wait(RCU_LXTAL);
          /* select the RTC clock source */
          rcu_rtc_clock_config(RCU_LXTAL);
         
          prescaler_s = 0xFF;
          prescaler_a = 0x7F;

rcu_rtc_clock_config(RCU_LXTAL);中的RCU_LXTAL这个参数是错的,应该使用RCU_RTCSRC_LXTAL

设置完成后,将纽扣电池取下,重新安装上即可


使用特权

评论回复
沙发
zeshoufx| | 2020-9-8 15:28 | 只看该作者
谢谢分享【GD32 RTC时钟配置外部低速时钟注意点】

使用特权

评论回复
板凳
gxp6604| | 2020-9-10 11:14 | 只看该作者
本帖最后由 gxp6604 于 2020-9-10 11:15 编辑

好滴,以后注意下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2028

主题

15903

帖子

13

粉丝