你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

uvision4编译缺少stm32f10x_conf.h头文件  

[复制链接]
chowalan123 提问时间:2016-10-12 19:43 /
如题,在做第一个例程led实验时出现该问题上百度搜说是uvision4缺少旧版本uvision3的文件,我尝试下载一整个STM32F10X到USER文件夹,结果出现invalid redeclaration 的提示,

应该是调入的STM32F10X文件夹中文件和某文件重复了(我就放弃了这种方法)请教各位是怎么解决这个问题的
16)H4XC(5S[ZW`)0{BGY]0X.png
DQOL%J_WS7O1OH4QP7)H1F8.png



RI85ISHD)PDJ691)XP)H4DD.png
)41AD666O0[ZI%A[E0)N`TC.png

收藏 1 评论42 发布时间:2016-10-12 19:43

举报

42个回答
chowalan123 最优答案 回答时间:2016-10-19 23:07:16
本帖最后由 chowalan123 于 2016-10-19 23:16 编辑

问题解决了,我用的板子是stm32f103rbt6,按照原子哥的解决方案,是因为MDK4里面所包含的头文件问题,附链接如下:http://www.openedv.com/posts/list/10955.htm
附解释如下:http://blog.sina.com.cn/s/blog_0414b7360102v0o3.html
(链接侵删)
主要原因还是因为我用MDK4去学习MDK3的教程吧(STM32不完全手册V2.2)
希望对有相同问题的人有帮助,而且我这个是寄存器的例程,好像是和库函数的例程有那么一点区别(我猜的,我是小白,不对的请指教)
谢谢各位指导

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

anywill 回答时间:2016-10-17 07:34:01
同意沙发,直接复制其他工程
anywill 回答时间:2016-10-15 16:45:50
还是mbed好只有一个头文件
anywill 回答时间:2016-10-15 16:45:17
用cubemx建个例子,在例子文件夹里直接复制
Eagleson 回答时间:2016-10-14 09:19:20
外设宏定义USE_STDPERIPH_DRIVER
#if !defined  USE_STDPERIPH_DRIVER
/**
* @brief Comment the line below if you will not use the peripherals drivers.
   In this case, these drivers will not be included and the application code will
   be based on direct access to peripherals registers
   */
  /*#define USE_STDPERIPH_DRIVER*/
#endif
如果不适用片内外设,则不要取消  /*#define USE_STDPERIPH_DRIVER*/的注释
注意stm32f10x.h文件的最后有这样的代码:
#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f10x_conf.h"
#endif
stm32f10x_conf.h中包含了所有外设的头文件,因此任意源文件只要包含了stm32f10x.h,就可以在源文件调用任意外设的函数。
若有外设为使用到,在stm32f10x_conf.h注释相应部分,项目编译时就不会在编译去掉的外设。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

liu553824989 回答时间:2016-10-14 09:18:42
这样效率太慢了,你这样跟直接copy差不多,还不如直接rt建工程,或者用cube建程。
z258121131 回答时间:2016-10-14 08:59:33
在其他工程复制一个放过去就可以
sunnydevil 回答时间:2016-10-14 09:10:52
题主芯片型号选的是什么
sxhbbde 回答时间:2016-10-14 09:19:38
缺一个就补一个呗,其他对应工程拷一个过来撒
anywill 回答时间:2016-10-14 09:21:22
不是缺少,像是头文件重复定义了
Eagleson 回答时间:2016-10-14 09:21:55
在Define里添加USE_STDPERIPH_DRIVER,在IncludePaths里添加自己工程所在的目录,并把stm32f10x_conf.h复制到工程所在目录下。(stm32f10x_conf.h可以从KeilV5的目录下找到,不要直接指向该文件,因为每个工程可能会根据需要修改)。
benlarden 回答时间:2016-10-14 09:24:44
这个貌似以前也遇到过,应该是库版本不是同一版本,里面有其他版本的文件在里面,使用统一版本库就好了!~~
衔胆栖冰 回答时间:2016-10-14 09:34:27
看下你的文件路径中的文件夹里是否有stm32f10x_conf.h文件,我也经常自建工程,只把要用的文件添加进去。这个跟uvision3,uvision4或者uvision5关系不大。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

12345下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版