由于MDK5.0A没有STM32F103程序错误 stm32f10x.h(298): error: #67: expected a "}"

转载 2017年06月04日 00:41:58

由于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没试,不知是否可行!!
 
选择芯片后就不需要在option->c/c++中再定义类似STM32F103_HD的东西了

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

\lib\cmsis\stm32f10x.h(298): error: #67: expected a "}"

更新KEIL5以后,原KEIL4 STM32模版库编译失败出现如下错误:\lib\cmsis\stm32f10x.h(298): error: #67: expected a "}" ...解决办法...
  • zhangxuechao_
  • zhangxuechao_
  • 2017年08月07日 10:20
  • 989

Keil5 下Missing Software Packs问题的解决方法

Keil 5 Software Pack Install Failed
  • shanpenghui
  • shanpenghui
  • 2017年02月12日 13:58
  • 1677

stm32f103的运行错误和keil5的一些变动

调试STM32F103ZET6过程中,自己写了下Systick滴答配置和中断函数,编译完无错误。迫不及待的将程序下到板子中,运行灯无闪烁。仔细查了下程序,管脚配置、外设时钟开启、中断配置未发现问题。使...
  • fatalromeo
  • fatalromeo
  • 2017年02月27日 22:10
  • 520

提示..\CMSIS\stm32f10x.h(383): error: #67: expected a "}"错误

keil 515提示..\CMSIS\stm32f10x.h(383): error:  #67: expected a "}"错误。解决方法是修改(增加或者不要)c/c++选项的Define里的“S...
  • artyoung0421
  • artyoung0421
  • 2015年10月09日 16:52
  • 5657

Keil------解决..\SYSTEM\sys\stm32f10x.h(298): error: #67: expected a "}"

如果遇到下面的情况可以试一下以下方法: 在C/C++选项卡里,把STM3210X_HD从prepocessor symbol define 里面删掉...
  • liyuru4
  • liyuru4
  • 2016年12月04日 16:42
  • 2670

Keil5 STM32L151pack包的安装

最近工作上需要使用到stm32l151这个芯片,原因嘛就是因为这个芯片成本低,某宝售价2元钱,但是原本使用keil5没有这个芯片的型号选择,于是在官网http://www.keil.com/dd2/p...
  • Eric_lmy
  • Eric_lmy
  • 2016年09月08日 10:11
  • 3820

KEIL安装

安装打开C51V901.EXE 安装程序 点击Next 选中“I agree all the tems of”,点击Next 继续安装 点击Finish,完成激活复制CID到注册机中 复制注...
  • zhangxuechao_
  • zhangxuechao_
  • 2017年07月03日 17:03
  • 146

keil4升级到keil5出现..\USER\stm32f10x.h(298): error: #67: expected a "}"错误

有段时间没用过keil,最近要使用就从keil官网下载了新版软件。安装后编译之前没问题的程序出错, 之后了解到keil的函数库有所更新(没顾上看是怎么修改的,抱歉..),但是解决办法之一: kei...
  • u010913318
  • u010913318
  • 2016年06月16日 16:56
  • 4481

..\USER\stm32f10x.h(428): error: #67: expected a "}" ADC1_2_IRQn = 18, /*!<

MDK软件编译,出现如下错误:..\USER\stm32f10x.h(428): error: #67: expected a "}" ADC1_2_IRQn ...
  • zhangxuechao_
  • zhangxuechao_
  • 2017年11月07日 13:11
  • 234

stm32 PACK包下载

以下网址是STM32 PACK包下载的地址 http://www.keil.com/dd2/pack/
  • u011897065
  • u011897065
  • 2015年10月19日 17:28
  • 4126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:由于MDK5.0A没有STM32F103程序错误 stm32f10x.h(298): error: #67: expected a "}"
举报原因:
原因补充:

(最多只允许输入30个字)