[研电赛技术支持] GD32 RTC时钟配置外部低速时钟注意点

[复制链接]
1127|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 编辑

好滴,以后注意下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17635

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部