STM32的RTC中断标志只能手动清除

Posted wzzgeorge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32的RTC中断标志只能手动清除相关的知识,希望对你有一定的参考价值。

背景:

  最近在做一个stm32的项目,其中用到RTC的实时时钟功能。时钟源采用外部32.768K晶振,时钟预分频设置为32767,目的是为了产生1秒的中断,然后在中断处理函数中更新实时年月日时分秒。

解决方案:

  但是由于缺乏经验,RTC中断处理函数中并没有使用RTC_ClearITPendingBit(RTC_IT_SEC)将中断标志位清除,导致程序在NVIC_Init()之后一直跳转到中断函数中,无法执行接下来的代码。

结论:

  通过手动清除秒中断标志位之后,问题迎刃而解。说明STM32的RTC中断标志位无法自动清除,必须要手动清除,否则会出现上述情况。

以上是关于STM32的RTC中断标志只能手动清除的主要内容,如果未能解决你的问题,请参考以下文章

STM32的滴答定时器的计数到0时标志位置1,需要软件清除标志位吗!,还是硬件自动清除

stm32串口通信

stm32 开启接收中断 PC 发送两次 为啥串口只接收到一次

STM32F4 HAL库开发 -- RTC

STM32F4 HAL库开发 -- RTC

STM32F4 HAL库开发 -- RTC