文章目录
本文章采用的开发板是野火stm32F103-MINI,下载器是ST_Link,开发环境是Keil5
一、创建一个keil工程(寄存器版)
- 打开keil,点击Project,选择New uVision Project
- 选择 CPU 型号,根据开发板进行选择

- 在线添加库文件
用寄存器控制 STM32 时,不需要在线添加库文件,可以直接关掉。 - 添加文件
①添加已经存在文件
在新建的工程中添加启动文件(startup_stm32f10x_hd.s),该文件可以先到固件库中复制到此处startup_stm32f10x_hd.s。
②创建新文件
stm32f10x.h
手动新建,用于存放寄存器映射的代码,暂时为空。
main.c
手动新建,用于存放 main 函数,暂时为空。 - 配置魔术棒选项卡
①Target设置

②Output设置

③Listing设置

④Debug设置

⑤Utilities设置

⑥Debug Settings设置


二、基于寄存器stm32 LED流水灯
-
寄存器的定义
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。 -
GPIO (通用输入输出端口)
STM32 可控制的引脚。

此图引用零死角玩转STM32——F103指南版中对GPIO介绍,具体介绍可参考该书。
GPIO的工作模式typedef enum { GPIO_Mode_AIN = 0x0, // 模拟输入 GPIO_Mode_IN_FLOATING = 0x04, // 浮空输入 GPIO_Mode_IPD = 0x28, // 下拉输入 GPIO_Mode_IPU = 0x48, // 上拉输入 GPIO_Mode_Out_OD = 0x14, // 开漏输出 GPIO_Mode_Out_PP = 0x10, // 推挽输出 GPIO_Mode_AF_OD = 0x1C, // 复用开漏输出 GPIO_Mode_AF_PP = 0x18

本文介绍了使用寄存器和固件库两种方式在STM32F103-MINI开发板上实现LED流水灯的步骤,包括创建Keil工程、配置GPIO和编写代码。寄存器开发直接操作硬件,代码简洁但易读性差,而固件库开发抽象层次高,易于理解和维护。通过对比,突显了固件库在提高开发效率上的优势。
最低0.47元/天 解锁文章
806





