keil报错:stm32f10x_type.h:error:256:invalid invalid redeclaration of type

本文解决了一个常见的STM32开发问题——当使用ST官网提供的固件包创建新工程并遇到编译错误时如何处理。文章详细介绍了如何通过调整自定义的配置文件来避免不同版本固件库之间的冲突。

在使用ST官网的固件包新建工程文件后,编译报错“D:/Keil/ARM/INC/ST/STM32F10x/stm32f10x_type.h(23): error: #256: invalid redeclaration of type name "s32" (declared at line 470 of "Src/App/stm32f10x.h")”,在网上也看到了类似的问题,不过都没有明确的修改说明啊。

工程中使用的固件库版本相对较高,而MDK自带的固件库版本相对较低,两者相互冲突了,下面来看一下冲突的地方:打开工程中包含的文件"stm32f10x.h",会发现这是一个包含8000多行代码的文件,不用担心,将它拉到最下面,然后向上找,很快就会发现下面三行代码"#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif",工程中包含的include "stm32f10x_conf.h”文件是MDK自带的,因为版本原因,最好自己重新写一下,放在自己的工程文件夹下。

下面来看一下stm32f10x_conf.h文件需要写的东西,主要是需要包含的是固件库外设驱动,例如需要GPIO的定义文件,就可以添加语句#include "stm32f10x_gpio.h",还有就是断言验证的语句,具体可以参考ST官网的固件库例子程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值