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

在使用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官网的固件库例子程序。

你可能感兴趣的:(keil报错:stm32f10x_type.h:error:256:invalid invalid redeclaration of type)