由于GD32官方例程过于简单,在实际项目开发中如果套用官方例程往往不能满足应用中的需求。
下面就RTC的操作总结了几条比较关键注意点。
一、在操作RTC前要先将RTC和APB接口同步
调用函数:rtc_register_sync_wait()
由于对RTC的操作要通过APB接口,并且当系统复位或者从低功耗模式唤醒后APB接口和RTC还未同步上。
所以在操作RTC寄存器前请先调用这个‘同步函数’。
二、在写RTC寄存器前要进入配置模式
调用函数:rtc_configuration_mode_enter()
当你发现你的RTC没有按照你预设的参数运行时,有可能是你的参数初始化失败了。
这里你可以尝试先调用上面的函数,然后再写RTC寄存器。
三、在操作RTC寄存器前要等待RTC写操作完成
调用函数:rtc_lwoff_wait()
在操作RTC寄存器前,请先等待上一次操作完成。
四、重新使能中断
为了确保RTC中断可以正确响应,我们尽量在系统复位后或者低功耗唤醒后重新使能一下RTC中断。
|