1. 程式人生 > >STM32的RTC中斷標誌只能手動清除

STM32的RTC中斷標誌只能手動清除

背景:

  最近在做一個stm32的專案,其中用到RTC的實時時鐘功能。時鐘源採用外部32.768K晶振,時鐘預分頻設定為32767,目的是為了產生1秒的中斷,然後在中斷處理函式中更新實時年月日時分秒。

解決方案:

  但是由於缺乏經驗,RTC中斷處理函式中並沒有使用RTC_ClearITPendingBit(RTC_IT_SEC)將中斷標誌位清除,導致程式在NVIC_Init()之後一直跳轉到中斷函式中,無法執行接下來的程式碼。

結論:

  通過手動清除秒中斷標誌位之後,問題迎刃而解。說明STM32的RTC中斷標誌位無法自動清除,必須要手動清除,否則會出現上述情