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"就是允许"使用标准外设驱动"了。

相关推荐
蒙塔基的钢蛋儿3 小时前
记一次 STM32H723 硬件 Bug 排查:写个 ETH 寄存器,SDRAM 数据飞了
stm32·嵌入式硬件·bug
熊猫_豆豆3 小时前
STM32F103R6 PROTEUS9.0 FREERTOS实现双任务流水灯
stm32·单片机·嵌入式硬件
csg11074 小时前
电路板抗干扰:电容、电感和弧线布线的应用
单片机·嵌入式硬件·物联网·自动化
piaoyiren4 小时前
普中A6 静态数码管显示 数字
单片机·嵌入式·普中a6
Olivia051405145 小时前
共模电感在DC-DC变换器中的自谐振频率(SRF)对EMI滤波性能的影响
单片机·嵌入式硬件
Yunhoa5 小时前
51单片机(1)
单片机·嵌入式硬件·51单片机
dozenyaoyida7 小时前
LSTM 自编码器原理详解:从三门结构到 STM32 端侧异常检测落地
人工智能·stm32·lstm
茯苓gao7 小时前
嵌入式开发笔记:工业机器人通信协议深度解析——从现场总线到工业以太网
笔记·嵌入式硬件·学习·机器人·信息与通信
hongmai6668888 小时前
GD5F1GM7REYIG存储芯片:1Gb SPI NAND Flash助力国产设备高效运行
网络·单片机·嵌入式硬件·物联网·智能家居
阿拉斯攀登9 小时前
平台设备驱动:platform bus 与设备树
linux·嵌入式硬件·嵌入式·linux驱动·字符设备驱动