通过配置RCU_BDCTL寄存器的RTCSRC位, RTC时钟可以选择由LXTAL时钟、IRC40K时钟或HXTAL时钟的128分频提供。RTC时钟选择HXTAL时钟的128分频做为时钟源后,当1.2V内核电压域掉电时,时钟将停止。 RTC时钟选择IRC40K时钟做为时钟源后,当VDD掉电时,时钟将停止。RTC时钟选择LXTAL时钟做为时钟源后,当VDD和VBAT都掉...
此数值和RCU的初始化其实并没有太大关系,但如果您使用的外部晶振不是默认值,那么除了按照步骤(1)修改配置参数外,您还必须将此HXTAL_VALUE的值修改为实际的外部晶振频率,这是因为在一些通信外设配置时,库函数会调用HXTAL_VALUE值来设置波特率,如此值设置错误,会导致通信异常。 1.2.非默认外部晶振配置时钟实例 GD32...
通过配置RCU_BDCTL寄存器的RTCSRC位, RTC时钟可以选择由LXTAL时钟、IRC40K时钟或HXTAL时钟的128分频提供。RTC时钟选择HXTAL时钟的128分频做为时钟源后,当1.2V内核电压域掉电时,时钟将停止。 RTC时钟选择IRC40K时钟做为时钟源后,当VDD掉电时,时钟将停止。 RTC时钟选择LXTAL时钟做为时钟源后,当VDD和VBAT都掉电时...
rcu_osci_on(RCU_IRC40K); /* wait till LXTAL is ready */ rcu_osci_stab_wait(RCU_IRC40K); /* select RCU_LXTAL as RTC clock source */ rcu_rtc_clock_config(RCU_RTCSRC_IRC40K); #elif RTC_CLOCK_SOURCE_LXTAL prescaler=32767; /* enable LXTAL */ rcu_osci_on(RCU_LXTAL); /* wai...
rcu_osci_on(RCU_IRC40K); /* wait till LXTAL is ready */ rcu_osci_stab_wait(RCU_IRC40K); /* select RCU_LXTAL as RTC clock source */ rcu_rtc_clock_config(RCU_RTCSRC_IRC40K); #elif RTC_CLOCK_SOURCE_LXTAL prescaler=32767;
rcu_osci_stab_wait(RCU_LXTAL); /*选择LXTAL作为RTC时钟*/ rcu_rtc_clock_config(RCU_RTCSRC_LXTAL); #endif /*使用IRC40K*/ #ifdef RTC_CLOCK_SOURCE_IRC40K /* 使能 IRC40K*/ rcu_osci_on(RCU_IRC40K); /* 等待IRC40K Ready */
电池备份域由内部电源切换器来选择VDD供电或VBAT(电池)供电,然后由VBAK为备份域供电,该备份域包含RTC(实时时钟)、 LXTAL(低速外部晶体振荡器)、 BPOR(备份域上电复位)、 BREG(备份寄存器),以及PC13至PC15共3个PAD。为了确保备份域中寄存器的内容及RTC正常工作,当VDD关闭时, VBAT引脚可以连接至电池或...
因此 RTC 一般使用低速外部时钟LXTAL,频率为实时时钟模块中常用的 32.768KHz,这是因为 32768 = 215,分频容易实现,所以它被广泛应用到 RTC 模块。在主电源 VDD有效的情况下(待机),RTC 还可以配置闹钟事件使 GD32退出待机模式。 RTC模块在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前...
HXTAL:高速外部时钟;LXTAL:低速外部时钟;IRC8M:高速内部时钟;IRC40K:低速内部时钟;其中:HXTAL...
rcu_osci_stab_wait(RCU_LXTAL); /*选择LXTAL作为RTC时钟*/ rcu_rtc_clock_config(RCU_RTCSRC_LXTAL); #endif /*使用IRC40K*/ #ifdef RTC_CLOCK_SOURCE_IRC40K /* 使能 IRC40K*/ rcu_osci_on(RCU_IRC40K); /* 等待IRC40K Ready */