当前位置: 首页 > news >正文

【STM32入门教程】新建工程

目前stm32的开发方式主要有基于寄存器的方式、基于标准库也就是库函数的方式和基于HAL库的方式

  • 基于寄存器的方式是用程序直接配置寄存器来达到想要的功能,这种方式最底层、最直接,效率更高一些,但是由于stm32的结构复杂,寄存器太多,所以基于寄存器的方式目前不推荐
  • 基于库函数的方式是使用st官方提供的封装好的函数,通过调用这些函数来间接的配置寄存器,由于st对寄存器封装的比较好,所以这种方式既能满足对寄存器的配置,对开发人员也比较友好,有利于提高开发效率
  • 基于hal库的方式可以用图形化界面快速配置stm32,比较适合快速上手stm32 的情况,但是这种方式隐藏了底层逻辑

一、新建工程

首先新建文件夹

给工程命名

选择对应的器件型号

这个弹出的是keil新建工程小助手,可以直接关闭

新的工程就建好了,但是还不能用,需要添加一些工程的必要文件

二、添加工程必要文件到工程文件夹

按照下面路径打开

这些就是STM32的启动文件,stm32的程序就是从启动文件开始执行的

将这些文件全部复制下来,打开刚刚新建的工程的文件夹

如果直接粘贴刚刚的文件较乱,所以再新建一个文件夹,命名为Start,将启动文件粘贴到这里面

接着打开到这个路径

是stm32f10x.h是stm32外设寄存器描述文件,用来描述stm32有哪些寄存器和它对应的地址

下面两个system文件主要是用来配置时钟的,stm32 主频72mhz就是system文件配置的

将这三个文件复制下来也粘贴到start文件夹下

由于stm32是由内核和外围寄存器组成的,所以还需要添加内核寄存器的描述文件

打开如下路径,找到这两个文件,就是内核的寄存器描述,当然还包括了内核的配置函数

将这两个文件夹一并复制粘贴到start文件夹下

三、将必要文件添加到工程里

回到工程界面,单击这个文件夹改名为start

右键添加存在的文件到文件夹

选择all files

添加启动文件,启动文件只能添加一个,选择后缀为md.s的启动文件

然后剩下的.c和.h文件都要添加进来,选中后点击add 

 这样就将start文件夹里的文件就添加好了,这些都是只读文件,不可以修改

需要添加这些文件的头文件路径

点击魔术棒,在C/C++点击Include Paths把start文件夹的路径添加进来

这样就添加了头文件路径

四、新建main函数所在文件夹user

在工程文件夹新建一个文件夹user

在工程中target右键,添加组

重命名为user

右键文件夹新建文件,命名为main,路径改为user文件夹,否则是放在文件夹外面的

点击add添加成功

在main.c中右键插入头文件

然后写一个main函数,文件最后一行必须是空行,否则会报警告

如果出现很多报错,将version6 改成version5

五、修改字体格式大小

点击扳手工具,可以修改字体字号

这个改成utf8可以避免中文乱码,如果遇到乱码,也可以更改为合适的格式就可以避免乱码

http://www.dtcms.com/a/343563.html

相关文章:

  • 如何高效撰写AI领域学术论文——学习笔记
  • 【动手学深度学习】6.2. 图像卷积
  • DeepSeek-V3.1震撼升级:推理与Agent双突破
  • 20250820:一波三折!老设备国标接入 EasyGBS 的 “排雷” 记:从无流到花屏,换个协议全搞定
  • 8.21学习总结
  • 08.20CSP模拟赛总结
  • 中文房间悖论:人工智能理解力的哲学拷问
  • 【网络运维】Shell:变量进阶知识
  • MTK Linux DRM分析(十)- KMS drm_connector.c
  • Pandas 数据组合与缺失值处理最新版本
  • 如何自定义一个SpringBoot Starter
  • Document Solutions .NET Bundle 8.2.0
  • C++ 入门核心知识
  • 【时时三省】汽车安全 专栏简介
  • strspn函数详解
  • TorchInductor - Introduction
  • 50 C++ STL模板库-算法库 algorithm
  • 使用C++17标准 手写一个vector
  • Python核心技术开发指南(001)——Python简介
  • 基于单片机教室照明灯控制系统
  • 数据结构:生成 (Generating) 一棵 AVL 树
  • 域名污染怎么清洗?域名污染如何处理?
  • 8.21作业
  • 【运维进阶】if 条件语句的知识与实践
  • AI设计师-标小智旗下AI在线设计平台
  • 洛谷 P4942 小凯的数字-普及-
  • Hybrid laser 是什么?
  • BFS算法C++实现(邻接表存储)
  • 最爱--中岛美雪
  • 8 月 20 日科技新动态:多领域创新成果涌现