paotangsan 发表于 2021-6-3 16:26

GD32之RTC操作注意事项

由于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中断。


weifeng90 发表于 2021-6-3 21:38

谢谢楼主分享经验
页: [1]
查看完整版本: GD32之RTC操作注意事项