1. 程式人生 > >高版本MDK(522)編譯低版本MDK(423)工程不成功的解決辦法

高版本MDK(522)編譯低版本MDK(423)工程不成功的解決辦法

三年前在實驗室做專案時,用MDK423基於STM32F103開發的專案,當時STM32F103 串列埠傳送、中斷、I2C、AD採集等功能寫得都挺完善的,編譯也都沒問題。現在工作中專案又要用到STM32F103,想把當年的工程拿來直接用,用MDK522(現在較新的版本)編譯當初的MDK423的工程出現如下錯誤:
這裡寫圖片描述

經查,原來的MDK423是自帶庫的,如我的MDK423安裝目錄下的D:\Program Files (x86)\Keil_v4\ARM\INC\ST
這裡寫圖片描述

keil從MDK4.5開始就已經使用了新的自帶標頭檔案格式,我原來的4.23使用的stm32f10x_lib.h已經不再被支援,在新的軟體環境下,該檔案找不到了。解決辦法:將原MDK4.23的安裝目錄下的ARM\INC\ST\STM32F10x目錄拷貝到當前工程中來,並在工程配置選項的路徑包含中包含該目錄,如下圖是將STM32F10x放在了我的工程原始碼的Source目錄下.
這裡寫圖片描述


配置好後編譯,就不再出錯了。