stm32新建项目编译即出现大量报错,如何解决

太长时间没用过新建工程了,导致忘记了怎么新建工程。。。。。

当编译出现大量报错时,如果文件都已经正确放入文件夹,先查看编译器类型是否选对,如果选对且正确添加到工程。

下面看看编译器版本是否选对

选择默认5版本。

还有一项是记得在C/C++里定义这个宏

为什么要定义USE_STDPERIPH_DRIVER这个宏?

程序的执行是从"main.c"文件开始的,其中必须包含有头文件"stm32f10x.h"。

我们打开"stm32f10x.h",按下"Ctrl+F"键,查找USE_STDPERIPH_DRIVER,在"Find What"栏中输入"USE_STDPERIPH_DRIVER"。

如图所示。点击"Find Next",出现"USE_STDPERIPH_DRIVER"对应的代码行,重复上边操作三次,第三次的时候我们能找到如图所示代码段。

这段代码的意思是,只有用预编译指令预定义了"USE_STDPERIPH_DRIVER",才会将"stm32f10x_conf.h"包含进"stm32f10x.h"中,从而被"main.c"用到。这就解释了,为什么我们没有在"main.c"中包含"stm32f10x_conf.h",而在编译之后却被包含进了"main.c"中。

"stm32f10x_conf.h"文件相当于一个开关文件,如果要用到STM32固件库驱动标准外设,则外设驱动头文件是必不可少的。如"stm32f10x_gpio.h",在"stm32f10x_conf.h"中我们通过代码#include "stm32f10x_gpio.h"来实现这个操作。

在C/C++预定义中加入"USE_STDPERIPH_DRIVER"就是允许"使用标准外设驱动"了。

相关推荐
疏星浅月7 小时前
虚拟内存三大核心作用详解
linux·c语言·arm开发·嵌入式硬件
Aaron158811 小时前
RFSOC+VU13P+RK3588的核心优势与应用场景分析
嵌入式硬件·算法·matlab·fpga开发·信息与通信·信号处理·基带工程
blevoice11 小时前
JL杰理AC696N开发板常见问题FAQ-问题6:为什么提示“key 不匹配”?杰理的蓝牙芯片的key是什么?以及该如何添加key? 杰理key文件原理?
单片机·嵌入式硬件·物联网·jl杰理蓝牙音频芯片·ac696n·蓝牙音箱方案开发
编程之升级打怪12 小时前
常见电路的引脚代号
嵌入式硬件
三佛科技-1873661339713 小时前
辉芒微FT62FC1x低成本小体积定时器触摸MCU芯片选型深度解析
单片机·嵌入式硬件
独小乐13 小时前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
C^h14 小时前
rtthread控制达妙4310电机
数据库·单片机·嵌入式硬件
三佛科技-1873661339714 小时前
LP3717BSL 12V1A隔离型极简化自供电充电器适配器电源方案测试报告
单片机·嵌入式硬件
一路往蓝-Anbo15 小时前
第二章:STM32 bxCAN 控制器详解:从内存到总线的“中转站”
stm32·单片机·嵌入式硬件·软件工程
jucat15 小时前
定时排气扇
嵌入式硬件