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


背景:

  最近在做一個stm32的項目,其中用到RTC的實時時鍾功能。時鍾源采用外部32.768K晶振,時鍾預分頻設置為32767,目的是為了產生1秒的中斷,然后在中斷處理函數中更新實時年月日時分秒。

解決方案:

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

結論:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM