wordpress 大型网站,技智网站建设小编,国际网站群建设方案,iis 网站属性GD32F303的RTC模块框图如下图所示#xff0c;RTC时钟源可选择HXTAL/128、LXTAL或IRC40K#xff0c;一般为了实现更精准的RTC时间#xff0c;MCU系统均会外挂32.768KHz LXTAL低频晶振#xff0c;但由于低频晶振负阻抗较大#xff0c;不容易起振#xff0c;若外部电路布线、…GD32F303的RTC模块框图如下图所示RTC时钟源可选择HXTAL/128、LXTAL或IRC40K一般为了实现更精准的RTC时间MCU系统均会外挂32.768KHz LXTAL低频晶振但由于低频晶振负阻抗较大不容易起振若外部电路布线、匹配电容选择以及驱动模式配置不合适可能会存在启动或运行过程中LXTAL停振的风险当LXTAL停振后RTC将会面临时间停止的状况此时我们应该如何处理 1、首先我们需要优化LXTAL部分硬件电路避免启动及运行过程中低频晶振停振低频晶振的选择、晶振电路的layout、匹配电容的选择、MCU驱动模式的配置都会影响低频晶振工作的稳定性我们后续会专门开一讲来进行讲解
2、增加代码冗余操作提高系统稳定性可软件上检测低频晶振是否正常异常后可将RTC时钟切换到内部低频时钟检测低频晶振是否正常的方法可选择以下两种:1选择一个timer定时1s读取RTC时间如果连续3S读取RTC时间均为同一个数值此时可判断LXTAL停振2可通过RTC寄存器时钟同步来进行判断RTC计数值会在每个RTC时钟的上升沿进行内部更新并与APB1时钟进行同步软件上可首先清除RSYNF同步标志位然后等待其置位如果LXTAL停振RSYNF同步标志将无法置位此时增加超时判断可判断LXTAL时钟停振。 以上即为本期讲解如有建议或问题欢迎评论区讨论 更多GD32 MCU相关咨询https://www.gd32bbs.com/