如何新建STM32工程
如何新建STM32工程目前STM32的开发方式主要有基于寄存器的方式、基于标准库库函数的方式和基于HAL库的方式1.基于寄存器的方式用程序直接配置寄存器来达到我们想要的功能这种方式的有点是直接、效率高.但STM32的寄存器太多了这种方法不适用2.基于库函数的方式使用ST官方提供的封装好的函数通过调用这些函数来间接地配置寄存器。由于ST对寄存器封装的比较好所以这种方式既能满足对寄存器的配置对开发人员也比较友好有利于提高开发效率所以我们使用这种方式来进行学习开发3.基于HAL库的方式可以使用图形化界面快速配置STM32。这种适合老手这种方式隐藏了底层逻辑如果对STM32不熟悉不利于对水平的提高新建工程流程1.找个合适的位置新建用于存放工程的文件夹2.找到图片中的这个位置3.在上一个文件夹里再新建一个文件夹来存放本次工程4.写个工程文件的名称5.选择器件型号6.找到STM32的启动文件复制全部启动文件7.回到工程文件夹新建一个Start文件夹将复制的启动文件粘贴到里面8.回到stm32f10x.h找到如图三个文件stm32f10x.h就是STM32的外设寄存器描述文件作用是描述STM32有哪些寄存器和它对应的地址下面两个system文件是用来配置时钟的9.复制上图的三个文件粘贴到Start文件夹10.因为这个STM32是内核和内核外围的设备组成的而且寄存器的内核配置文件和外围设备的描述文件不是一起的所以我们还需要添加一个内核寄存器的描述文件找到这两个内核的寄存器描述和内核配置文件复制粘贴到Start文件夹下11.回到Keil将对应文件改名Start然后添加已经存在的文件到组里来添加这个启动文件剩下的.c和.h文件都要添加12.最后添加头文件路径把Start文件夹添加进来点击确定13.回到工程文件夹新建一个User文件夹用来放main函数回到keil里添加组改名叫User右键添加新文件创建main文件路径记得选择在User14.右键添加头文件选stm32f10c.h编写main函数编译并建立工程说明我的工程建设成功不过只是它现在还是一个基于寄存器开发的工程写个简单的代码接好DAP与STM32在keil里配置调试器点击Setting这样我们下载程序后会立马复位并执行下面这个按钮是下载按钮如果一切正常的话就会下载进STM32里配置寄存器点灯参考STM32的参考手册点灯代码%2Fimg%2Fimage-20260803010017195.pngpos_idimg-n4bcLviB-1785741870305)熄灭代码上述这种操作寄存器的方式要去不断地查手册看对应寄存器的操作流程即使是加上、|、~、^这几个运算也会导致运算麻烦容易出错的问题所以接下来我们引入库函数新建Library来存放库函数找到并 导入库函数的源文件再找到库函数的头文件复制粘贴过来其中misc.c中是内核的库函数源文件回到keil添加Library组同之前的步骤添加已存在的文件现在虽然库函数已经添加进来但还不能使用还要进行下面的操作根据上面这个路径找到这三个文件复制那个conf文件是用来配置库函数头文件的包含关系的还有个用来参数检查的函数定义这是所有库函数都需要的两个it文件是用来存放中断函数的粘贴到User目录下回到User组里把那三个文件添加进来在main.c文件的头文件进行右键打开头文件找到这个是一个条件编译意思是如果你定义了USE_STDPERIPH_DRIVER使用标准外设驱动这个字符串下面这个include conf.h文件才有效复制选中这句打开粘贴到头文件目录也要添加编译发现0错误0警告这样我们基于库函数的工程就完成了用库函数实现点灯的操作这样能看函数的定义说明补充新建工程里的启动文件选择前面的这一块不是只选了一个吗现在我们来讲讲到底怎么选根据这个表先看是什么型号再根据Flash容量的大小看看你是哪一种工程架构startup是启动文件启动文件内定义了中断向量表中断服务函数等中段服务函数中有个复位中断这个是整个程序的入口。当STM32上电复位或者按下复位键之后就会进入复位中断函数执行复位中断幻术组要做两件事情第一是调用SystemInit函数调用main函数。其他中断函数是达到触发条件后就会自动执行SystemInit文件的作用设置微控制器的启动初始化嵌入式闪存接口、锁相环、更新系统内核的时钟变量最右边的是那些文件就是外设和内核外设的寄存器描述。每个寄存器都封装了一大堆的函数给我提供了人性化的函数调用方式。至于conf文件就是包含了头文件的文件我们后面调用就只需要包含stm32f10x.h这个一个文件的头文件就可以达包含所有库函数头文件的效果更加方便我们任意调用所有库函数总结步骤1.建立工程文件夹Keil中新建工程选择型号2.工程文件夹里建立Start、Library、User等文件夹复制固件库里面的文件到工程文件夹3.工程里对应建立Start、Library、User等同名称的分组然后将文件夹内的文件添加到工程分组里4.工程选项C/CInclude Paths内声明所有包含头文件的文件夹5.工程选项C/CDefine内定义USE_STDPERIPH_DRIVER6.工程选项Debug下拉列表选择对应调试器Settings,Flash Download里勾选Reset and Runeil中新建工程选择型号2.工程文件夹里建立Start、Library、User等文件夹复制固件库里面的文件到工程文件夹3.工程里对应建立Start、Library、User等同名称的分组然后将文件夹内的文件添加到工程分组里4.工程选项C/CInclude Paths内声明所有包含头文件的文件夹5.工程选项C/CDefine内定义USE_STDPERIPH_DRIVER6.工程选项Debug下拉列表选择对应调试器Settings,Flash Download里勾选Reset and Run

相关新闻

IT服务连续性管理:为什么备份做了很多,系统中断后还是恢复很慢?

IT服务连续性管理:为什么备份做了很多,系统中断后还是恢复很慢?

很多企业都会定期做数据备份,也会部署灾备环境,希望在服务器故障、网络中断、安全事件或者突发灾害发生时,能够快速恢复业务。管理层通常认为,只要关键数据有备份,系统就具备了一定的抗风险能力。但真正遇到故障时&…

2026/10/11 17:55:19 阅读更多 →
手机端实时AI虚化卡顿率下降83%?2024移动端NPU调度优化的3层内存预加载策略

手机端实时AI虚化卡顿率下降83%?2024移动端NPU调度优化的3层内存预加载策略

更多请点击: https://codechina.net 第一章:AI图片背景虚化 AI图片背景虚化技术依托深度学习模型精准分离前景主体与背景区域,实现媲美专业光学镜头的散景效果。该技术广泛应用于人像摄影增强、电商商品图优化及视频会议实时美化等场景&…

2026/10/11 23:17:57 阅读更多 →
计算机毕业设计之大学生社会实践与志愿服务平台

计算机毕业设计之大学生社会实践与志愿服务平台

二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设…

2026/10/12 0:09:54 阅读更多 →

最新新闻

J2EE超市订单后台管理系统实战:从架构设计到事务与库存扣减

J2EE超市订单后台管理系统实战:从架构设计到事务与库存扣减

直接用标题开写。G同学曾做过一个J2EE课程设计,叫“基于J2EE架构的超市订单后台理系统”,实打实地完整跑通了需求分析、编码、部署全过程。这篇文章就以这个项目代号11812为例,拆解开发全过程,把常规文档不会写的细节一并补上。1.…

2026/10/12 0:55:27 阅读更多 →
论文降AI率工具怎么选?十款实测对比与操作避坑指南

论文降AI率工具怎么选?十款实测对比与操作避坑指南

1. 这次测评的来龙去脉:为什么2026届突然集体焦虑“AI味"2026届本科生现在应该正处于毕业论文写作的关键周期,我不止一次在后台收到类似留言——“导师说我论文AI味太重”“自己写的怎么也被标成AI生成的”“降AI率工具到底哪个靠谱”。这一波焦虑不…

2026/10/12 0:55:27 阅读更多 →
采矿CAD课程设计PPT:从软件操作到工程表达的全链路建模

采矿CAD课程设计PPT:从软件操作到工程表达的全链路建模

简介:本资源是一份面向高校采矿工程、地质环境与安全工程专业学生的《采矿CAD课程设计》教学课件,聚焦矿山地质环境治理与生态保护的CAD辅助设计实践。课件系统梳理了矿山地质环境定义、矿区生态破坏成因(含景观与生态双重破坏)、…

2026/10/12 0:54:26 阅读更多 →
桌面调度台 vs 云端 Agent 平台:Orca、美团 CatPaw、NVIDIA 路由器的三条路线谁先跑通

桌面调度台 vs 云端 Agent 平台:Orca、美团 CatPaw、NVIDIA 路由器的三条路线谁先跑通

桌面调度台 vs 云端 Agent 平台:Orca、美团 CatPaw、NVIDIA 路由器的三条路线谁先跑通 【免费下载链接】orca Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and …

2026/10/12 0:54:26 阅读更多 →
Kubernetes Python 客户端 V1beta2ResourceClaim 模型详解:Dynamic Resource Allocation 资源声明的完整 API 参考

Kubernetes Python 客户端 V1beta2ResourceClaim 模型详解:Dynamic Resource Allocation 资源声明的完整 API 参考

后端云原生容器编排 【免费下载链接】python Official Python client library for kubernetes 项目地址: https://gitcode.com/gh_mirrors/python1/python 点击查看 免费下载 导读 本文面向使用官方 Kubernetes Python 客户端(本项目仓库 gh_mirrors/p…

2026/10/12 0:54:26 阅读更多 →
CodeIgniter 4 Request 类详解:HTTP 请求的面向对象封装与全局数据安全访问

CodeIgniter 4 Request 类详解:HTTP 请求的面向对象封装与全局数据安全访问

后端Web框架 【免费下载链接】CodeIgniter4 Open Source PHP Framework (originally from EllisLab) 项目地址: https://gitcode.com/gh_mirrors/co/CodeIgniter4 点击查看 免费下载 本指南以 CodeIgniter 4 官方用户指南 request.rst 为主体,系统讲解框…

2026/10/12 0:54:26 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →