STM32——KEIL5調試筆記關於出現:“..\USER\stm32f4xx_hal_conf.h(249): error: #5: cannot open source input file ”

KEIL5是個強大的軟件,但也會莫名其妙報一些錯誤與警告的軟件(編程沒問題),昨晚我編寫定時器中斷程序的時候差點崩潰,網上找了一晚上的資料都沒能解決問題,後來我一行行對比代碼才發現了問題所在。下面的記錄就是關於我使用MDK5時出現過的一些error,分享我踩過的坑。

  1. 需要新行
  2. 不知道哪裏來的x
  3. 本文標題的錯誤

(1):添加新行

在這裏插入圖片描述

這個警告容易解決,在最後面加一個新行就行了

(2):打開文件就出現的x:
在這裏插入圖片描述
編譯沒報錯,這是編譯器本身的bug,把這個main.c關掉再打開,就不會報錯了,如下:
在這裏插入圖片描述

(3):這篇文章的重點;出現了標題那個錯誤,我找到的解決方法有下面幾個:

  • 檢查C/C++窗口的頭文件路徑:
    在這裏插入圖片描述

  • 一般情況下是這個的原因,但是我昨晚在編寫定時器中斷程序的時候編譯器不知道出了什麼原因,保證了路徑添加上去了還是報這個錯,今天我對比了原子哥的代碼,發現了我缺少了一個頭文件:“sys.h”,添加上去了,就沒有再報錯了,如果.h文件沒有添加"sys.h",調用HAL_TIM_Base_Init()時會出現這樣的錯誤:
    在這裏插入圖片描述
    添加進去後:
    在這裏插入圖片描述
    編譯通過,然後我們看一下sys.h裏面的內容:
    在這裏插入圖片描述
    如果在使用定時器的時候沒有包含sys.h頭文件,編譯器在編譯的時候就會找不到相關的定義,纔會報錯。所以,如果你在使用定時器中斷時出現錯誤,確定了一般情況沒有問題,不妨試試改這個地方。最好還是拿原子的標準例程進行開發,畢竟自己新建工程模板需要的時間太長,跟着新建一次就好,不用每次都新建,既節約時間又不容易出錯。

  • 如果上面的錯誤嘗試了很多方法都沒能解決,那麼就重裝MDK,儘量別裝中文版和漢化,破解就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章