打印
[研电赛技术支持]

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

[复制链接]
672|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
原来是wjc|  楼主 | 2021-11-30 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在按照GD32F350官方demo板提供的历程做RTC时,发现外部低速时钟不能用,用内部低速时钟不设置时间时,大多数时间都不正常,现象表现为时、分、秒走得很快,日期能加一天,经过调试,原来是开发板例程有误,

使用特权

评论回复
沙发
原来是wjc|  楼主 | 2021-11-30 11:21 | 只看该作者
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。

使用特权

评论回复
板凳
原来是wjc|  楼主 | 2021-11-30 11:22 | 只看该作者
设置完成后,将纽扣电池取下,重新安装上即可

使用特权

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

本版积分规则

78

主题

994

帖子

0

粉丝