STM32F103 stm32f10x.h(298):error: #67: expected a

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没试,不知是否可行!!

选择芯片后就不需要在option->c/c++中再定义类似STM32F103_HD的东西了

因为选择芯片时已经加进去了。而且当你的定义和你选择的芯片不同时,会报错:
…\Libraries\CMSIS\stm32f10x.h(298): error: #67: expected a “}”
ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */

你可能感兴趣的:(单片机)