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

[复制链接]
 楼主| 原来是wjc 发表于 2021-11-30 11:20 | 显示全部楼层 |阅读模式
在按照GD32F350官方demo板提供的历程做RTC时,发现外部低速时钟不能用,用内部低速时钟不设置时间时,大多数时间都不正常,现象表现为时、分、秒走得很快,日期能加一天,经过调试,原来是开发板例程有误,
 楼主| 原来是wjc 发表于 2021-11-30 11:21 | 显示全部楼层
  1. void rtc_pre_config(void)
  2. {
  3.     /* enable access to RTC registers in backup domain */
  4.     rcu_periph_clock_enable(RCU_PMU);
  5.     pmu_backup_write_enable();

  6.     #if defined (RTC_CLOCK_SOURCE_IRC40K)   
  7.           /* enable the IRC40K oscillator */
  8.           rcu_osci_on(RCU_IRC40K);
  9.           /* wait till IRC40K is ready */
  10.           rcu_osci_stab_wait(RCU_IRC40K);
  11.           /* select the RTC clock source */
  12.           rcu_rtc_clock_config(RCU_RTCSRC_IRC40K);
  13.   
  14.           prescaler_s = 0x18F;
  15.           prescaler_a = 0x63;
  16.     #elif defined (RTC_CLOCK_SOURCE_LXTAL)
  17.            /* enable the IRC40K oscillator */
  18.           rcu_osci_on(RCU_LXTAL);
  19.           /* wait till IRC40K is ready */
  20.           rcu_osci_stab_wait(RCU_LXTAL);
  21.           /* select the RTC clock source */
  22.           rcu_rtc_clock_config(RCU_LXTAL);
  23.          
  24.           prescaler_s = 0xFF;
  25.           prescaler_a = 0x7F;

  26. rcu_rtc_clock_config(RCU_LXTAL);中的RCU_LXTAL这个参数是错的,应该使用RCU_RTCSRC_LXTAL。
 楼主| 原来是wjc 发表于 2021-11-30 11:22 | 显示全部楼层
设置完成后,将纽扣电池取下,重新安装上即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

1249

帖子

0

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