zoukankan      html  css  js  c++  java
  • 由于MDK5.0A没有STM32F103程序错误 stm32f10x.h(298): error: #67: expected a "}"

    转自:http://blog.163.com/lby147612@126/blog/static/17041045220150130438428/

    由于MDK4.72A没有STM32F030,所以升级到了MDK5.0
    我的程序在MDK4.72A下编译正常没有任何错误,升级软件后程序都出现了同样的问题,请大家帮我看看,这个是什么原因。

    Build target '103RE_安卓_Print1'
    compiling main.c...
    .SourceLibrariesCMSISCM3DeviceSupportSTSTM32F10xstm32f10x.h(298): error:  #67: expected a "}"
        ADC1_2_IRQn                 = 18,     /*!< ADC1 and ADC2 global Interrupt                       */
    .SourceLibrariesCMSISCM3DeviceSupportSTSTM32F10xstm32f10x.h(472): warning:  #12-D: parsing restarts here after previous syntax error
      } IRQn_Type;
    SourceUsermain.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的东西了

    因为选择芯片时已经加进去了。而且当你的定义和你选择的芯片不同时,会报错:
    ....LibrariesCMSISstm32f10x.h(298): error: #67: expected a "}"
     ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
  • 相关阅读:
    Vue 服务器端渲染(一)
    vue笔记 介绍及安装 一
    Node.js 学习笔记 (一) 安装配置
    Java开发中的23种设计模式详解(转)
    spring-boot整合ehcache实现缓存机制
    STM32流水灯
    SD卡封转及管脚说明
    随笔分类
    函数的设计之我见
    让灵魂追得上我们疲惫的身体
  • 原文地址:https://www.cnblogs.com/shirishiqi/p/5484973.html
Copyright © 2011-2022 走看看