2025-1-6 STM32单片机开发,小白记录:模板制作,以及遇到自己写的文件引入不进来,并解决了这些问题

2025-1-6 STM32单片机开发,小白记录

0.安装

推荐:【最新】Proteus 8.17软件免费下载安装汉化详细教程(附下载链接)_哔哩哔哩_bilibili

模板视频:3. STM32标准外设库开发第一步:一次新建永久使用的库函数模版工程文件夹,傻瓜式操作,建议收藏_哔哩哔哩_bilibili

我只是总结记录这些的,以及视频里没有的一些关键细节

库文件也是找了好久找到的>_<,

求个赞,或者关注>_<

1.模板开发

库链接:stm32f10x固件库下载 STM32 F10X 固件函数库 V3.5 官方免费最新版 下载-脚本之家

创建目录

1.CMSIS 
// ARM公司开发通用协议 STM32F10Xgjhsk_jb51\Libraries\CMSIS\CM3\CoreSupport 下所有 文件
// ST公司的器件支持库 STM32F10Xgjhsk_jb51\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的.h .c

2.Library
// 驱动文件: STM32F10Xgjhsk_jb51\Libraries\STM32F10x_StdPeriph_Driver 下的两个文件夹

3.Start
// STM32F10Xgjhsk_jb51\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下所有

4.User
// STM32F10Xgjhsk_jb51\Project\STM32F10x_StdPeriph_Template 下的
stm32f10x_it.h
main.c
stm32f10x_conf.h
stm32f10x_it.c

2.创建项目,引入配置

创建项目,选择自己的STM32型号

把模板复制进来

品字 > 中间一列 > 创建模板里文件夹相同名字

右边 > Add File > 把他们所有的.c添加进来(Start不同,User)

User 额外需要_conf.h文件

Start > * 所有 > 选择一个 (_md) !!!!!!后面会用到!!!!!!!

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

3.编译配置Target 魔术棒

勾选生成HEX

在这里插入图片描述

添加宏定义(这里的MD需要和Start选择的保持一致)

USE_STDPERIPH_DRIVER , STM32F10x_MD

在这里插入图片描述

引入头文件(注意Library里面两个文件夹都需要添加进来)

在这里插入图片描述

选择调试器

在这里插入图片描述

勾选Reset and Run

Debug > Settings >Flash Download > 勾选Reset and Run

在这里插入图片描述

4.中文显示乱码解决

Edit > Configuration >Encoding > Chinese GB2312 (Simplified)

在这里插入图片描述

5.编译测试

一个小警告 > 保证最后一行为空行即可

// 你好!STM32的第一次学习
#include "stm32f10x.h"

int main()
{

return 0;
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.一种头文件爆红可能的原因

明明是直接这样在User目录上右键 > Add New Item to Group User

而且看第二张图,已经添加进来了,但是还是爆红(** 编译日志看最后一个,第二张图是之前编译的**)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6.1 解决方法1(治标不治本,只是去除了调用文件不爆红,但是编译还是报错)

导致的结果,确实不暴红了,但是同时关闭了代码提示

然后编译时还是报错

在这里插入图片描述
在这里插入图片描述

运行测试

在这里插入图片描述

6.2 根本解决

网上很多都是说中文路径,也就是

魔术棒 > C/C++ >Include这个,

但是根据我上面的操作后,这里引入的头文件配置后,头文件相当于是直接**./路径引用**

根本不是中文路径的原因

在这里插入图片描述

6.2.1 尝试分析> 第一项>查看配置路径

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

发现区别了吗???

打开文件夹看看

可以看到,他确实是在这里

在这里插入图片描述

6.2.3 解决方法

本质就是把你新创建的文件所在的文件夹添加进来

所以你可以这样做

方法1:添加项目目录进魔术棒include,

结果:不暴红,编译通过 0 Error

警告:statement 18 unreachalle 这个不要在意,这是因为我写的代码不会执行到最后一行return 0;处,完全可以忽略,

单片机你还能执行一遍结束吗?至少我目前觉得不可能

在这里插入图片描述

在这里插入图片描述

方法2:移动你创建的文件,进入User,然后重新添加即可(更加习惯这样,毕竟更方便管理)

操作方法: a右键>剪切>进入User>粘贴(我知道可能有的电脑小白不会)

在这里插入图片描述
在这里插入图片描述

取消编辑

在这里插入图片描述
在这里插入图片描述

右键移除

在这里插入图片描述

User右键>添加已存在>选择你的.c或者.h

在这里插入图片描述

在这里插入图片描述

结束

7.小小结:

最近开始学STTM32单片机,所以做点小记录,大佬勿喷

头文件问题:

1.一定要把创建.c/.h文件所在文件夹,添加进include(还有就是最好整体使用英文路径)

不定时更新,记录学习>_<

希望能帮到大家,

还有就是-_-

*>_ *点个赞吧

*>_ *点个赞吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值