學習stm32時踩平的一個坑:#223-D: function "EXTI_Init" declared implicitly


最近買了板子,跟着正點原子的電子資料學習stm32。學到外部中斷時出現這樣一個問題:

如圖代碼提示有問題,編譯后出現警告:

main.c(25): warning:  #223-D: function "EXTI_Init" declared implicitly

編譯可以通過,代碼下載運行也沒有問題。可作為一個完美主義者,有警告就要消滅。不然感覺很不爽。對不?

這種情況下,通常是由於文件包含出了問題。可是我的代碼跟他的幾乎一樣。文件包含的關系也相關簡單,不太可能出問題。

  • 第一步:我下載正點原子的代碼編譯,沒有問題。
  • 第二步:我把他的代碼復制到我的文件中,編譯問題依舊。
  • 第三步:代碼一樣,那就是我的文件命名的問題了。改了文件的名字之后問題消失。
    可是問題出在哪兒呢?
  • 我的水平不可能那么高,剛好起的名字和某個HAL庫文件名一樣。
    那這是怎么回事呢?

我是按照正點原子書上的方法,建立工程模板,然后復制。新建文件c和h文件,保存在HARDWARE的相應目錄下。但新建文件保存時,不小心沒有選擇文件目錄,mdk就把文件直接放在了USER目錄下。
當我往HARDWARE組中添加文件時,發現HAREWARE目錄下沒有相應文件。那么當然是重新再建一個。於是,同一個工程中就有了兩個同名的頭文件。盡管user下的文件是空的什么也沒有,但還是會有警告。
我刪除user下的文件后,一切恢復正常。


免責聲明!

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



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