STM32设置RTC闹钟
由于STM32HAL库没法写入日期到RTC计数器,只能用转换日历的方式直接写入寄存器值,这也导致了一个问题,HAL配套的闹钟也不能用HAL库了,只能用类似的方法做,但是实践起来还是没那么容易,兜兜转转花了五六个小时,甚至都把EXTI中断梳理了一遍,才终于碰巧解决了。
首先要说的是,当在CUBEMX中正确配置了RTC闹钟之后,NVIC和RTC闹钟的写保护之类的是已经由hal库从底层回调函数直接运行了的,也算省了一部分。

然后根据流程框图,我只需要控制两个点就好了,本来我是这样做的,然后还差临门一脚,实际上是三个点

我刚开始只设置了图中的两个位置,按我的推论,应该已经可以触发时钟中断了,结果失败了。
然后才发现,还需要设置一个隐藏的大坑:


然后基本上就能正常进闹钟中断了
还有一点,我本想用软件模拟中断直接绕过这些直接触发NVIC,结果失败了,好像RTC闹钟不允许这样做,根据流程图来看是可以这样做才对啊!
最后让AI帮我总结提升一下:

浙公网安备 33010602011771号