打印
[STM32F1]

编译出错

[复制链接]
7409|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
y619|  楼主 | 2014-8-15 15:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
..\..\Libraries\CMSIS\stm32f10x.h(298): error:  #67: expected a "}"
    ADC1_2_IRQn                 = 18,     /*!< ADC1 and ADC2 global Interrupt                       */
..\..\Libraries\CMSIS\stm32f10x.h(472): warning:  #12-D: parsing restarts here after previous syntax error
  } IRQn_Type;
..\..\User\main.c: 1 warning, 1 error
"..\..\User\main.c" - 1 Error(s), 1 Warning(s).
为什么会这样,我装的是MDK5.10版本,为什编译会出错,求指教
沙发
airwill| | 2014-8-15 16:20 | 只看该作者
打开你的 stm32f10x.h   看看(298)行, 是不是让你改掉了?

使用特权

评论回复
板凳
y619|  楼主 | 2014-8-15 17:28 | 只看该作者
airwill 发表于 2014-8-15 16:20
打开你的 stm32f10x.h   看看(298)行, 是不是让你改掉了?

是这样的,高密度的可以,中密度的就不行了,这是为什么,我刚才是这样解决的,我想请教一下您为什么会这样

使用特权

评论回复
地板
y619|  楼主 | 2014-8-15 17:28 | 只看该作者
airwill 发表于 2014-8-15 16:20
打开你的 stm32f10x.h   看看(298)行, 是不是让你改掉了?

我再试试您说的

使用特权

评论回复
5
mmuuss586| | 2014-8-15 19:46 | 只看该作者
啥叫高密度可以,中密度不行啊?

应该是,你使用了大容量FLASH里STM32的寄存器,实际使用的是中容量的STM32芯片吧;
改了下就可以;

使用特权

评论回复
6
lifeng202| | 2014-8-16 17:34 | 只看该作者
#ifdef STM32F10X_HD
  ADC1_2_IRQn                 = 18,     /*!< ADC1 and ADC2 global Interrupt                       */
  USB_HP_CAN1_TX_IRQn         = 19,     /*!< USB Device High Priority or CAN1 TX Interrupts       */
  USB_LP_CAN1_RX0_IRQn        = 20,     /*!< USB Device Low Priority or CAN1 RX0 Interrupts       */

我也是遇到这个问题,是以前的版本用5.0的打开,这是298行的,有什么不对吗

使用特权

评论回复
7
y619|  楼主 | 2014-8-17 10:25 | 只看该作者
mmuuss586 发表于 2014-8-15 19:46
啥叫高密度可以,中密度不行啊?

应该是,你使用了大容量FLASH里STM32的寄存器,实际使用的是中容量的STM3 ...

额,初学,请教一下,我现在用的是3.5.0的库,5.1.0的MDK,我要用STM32103c8这款芯片,但是建工程的时候,选芯片只能选103RC以下的芯片建工程的时候编译才不出错,请教这是为什么?谢谢

使用特权

评论回复
8
y619|  楼主 | 2014-8-17 10:26 | 只看该作者
lifeng202 发表于 2014-8-16 17:34
#ifdef STM32F10X_HD
  ADC1_2_IRQn                 = 18,     /*!< ADC1 and ADC2 global Interrupt      ...

我也是这个问题,改不了头文件的,那上面有个钥匙,ST公司自己写的,请教你用的芯片型号是?

使用特权

评论回复
9
mmuuss586| | 2014-8-17 11:20 | 只看该作者
y619 发表于 2014-8-17 10:25
额,初学,请教一下,我现在用的是3.5.0的库,5.1.0的MDK,我要用STM32103c8这款芯片,但是建工程的时候 ...

刚好我有个产品用的也是C8;
这是我的设置:

使用特权

评论回复
10
y619|  楼主 | 2014-8-18 09:47 | 只看该作者
mmuuss586 发表于 2014-8-17 11:20
刚好我有个产品用的也是C8;
这是我的设置:

在这里再次感谢您~

使用特权

评论回复
11
yht7891984| | 2015-3-4 14:23 | 只看该作者
一定要选对器件型号.

使用特权

评论回复
12
三又二分之一7| | 2015-9-22 15:44 | 只看该作者
正确的解决方法:
在C/C++选项卡里,把STM3210X_HD从prepocessor symbol define 里面删掉`(*∩_∩*)′

这么做的原因:在老版本的官方STM32F10X.H文件里,这句话不是这么写的,若没记错的话,是
...&&!defined(STM32F10X_HD) && ...
原来是有括号的,不做标识符来处理,而新版的,如图,直接说明了出来,那就没有必要,可以根据C/C++知识自己去推断;

具体可以看搜“[STM32系列贴-初级]之STM32F10X工程建立详细过程及问题解决”,去看

使用特权

评论回复
13
xml2028| | 2017-2-19 23:18 | 只看该作者
三又二分之一7 发表于 2015-9-22 15:44
正确的解决方法:
在C/C++选项卡里,把STM3210X_HD从prepocessor symbol define 里面删掉`(*∩_∩*)′

就是这样的,我按照您的建议修改后就正确编译了

使用特权

评论回复
14
shanfei_ts| | 2020-7-21 10:58 | 只看该作者
三又二分之一7 发表于 2015-9-22 15:44
正确的解决方法:
在C/C++选项卡里,把STM3210X_HD从prepocessor symbol define 里面删掉`(*∩_∩*)′

谢谢!按您的方法解决了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

0

粉丝