轉自:http://blog.163.com/lby147612@126/blog/static/17041045220150130438428/
由於MDK4.72A沒有STM32F030,所以升級到了MDK5.0
我的程序在MDK4.72A下編譯正常沒有任何錯誤,升級軟件后程序都出現了同樣的問題,請大家幫我看看,這個是什么原因。
Build target '103RE_安卓_Print1'
compiling main.c...
.\Source\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error: #67: expected a "}"
ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
.\Source\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(472): warning: #12-D: parsing restarts here after previous syntax error
} IRQn_Type;
Source\User\main.c: 1 warning, 1 error
解決方法如下:
方法1、在C/C++選項卡里,把STM3210X_HD從prepocessor symbol define 里面刪掉`(*∩_∩*)′
這么做的原因:在老版本的官方STM32F10X.H文件里,這句話不是這么寫的,若沒記錯的話,是
...&&!defined(STM32F10X_HD) && ...
原來是有括號的,不做標識符來處理,而新版的,如圖,直接說明了出來,那就沒有必要,可以根據C/C++知識自己去推斷;
具體可以看搜“[STM32系列貼-初級]之STM32F10X工程建立詳細過程及問題解決”
方法2、原先的Keil::STM32F1xx_DFP安裝包是你直接從uVision4升級到uVision5后保留的,使用PackInstaller將原先的包1.0.2 Remove + Delete Pack,然后重新下載安裝Keil::STM32F1xx_DFP,版本應該是1.0.0,問題解決,庫不兼容
方法2沒試,不知是否可行!!