前言 :对于零基础的 STM32 新手,入门的核心是用最简单的步骤跑通第一个Demo(点灯),先体验 " 写代码→烧录→灯亮 " 的成就感,再慢慢理解复杂的原理。
- 本文全程避开"寄存器、时钟树"等难懂名词,只用"点鼠标、复制代码"的操作,带你100%跑通STM32点灯。
文章目录
-
- 准备工作(照做就行,无难度)
-
- [1. 硬件准备](#1. 硬件准备)
- [2. 软件安装(跟着安装向导走,不熟悉就搜下安装教程很多)](#2. 软件安装(跟着安装向导走,不熟悉就搜下安装教程很多))
- 第一步:用CubeMX"画图"配置(纯点鼠标,0代码)
- 第二步:用Keil写点灯代码 (仅需一行代码)
- 第三步:编译+烧录(点两下鼠标,必成功)
-
- [1. 编译代码(检查有没有写错)](#1. 编译代码(检查有没有写错))
- [2. 烧录代码(传到STM32板子上)](#2. 烧录代码(传到STM32板子上))
- [3. 看效果(必成功)](#3. 看效果(必成功))
- 总结
- 新手必看:常见问题(解决了100%成功,不成功留言给我,一起学习!)

准备工作(照做就行,无难度)
1. 硬件准备
- STM32开发板:选 "STM32F103C8T6"(新手最常用)
- ST-Link下载器:连接电脑和开发板的"数据线"
2. 软件安装(跟着安装向导走,不熟悉就搜下安装教程很多)
- STM32CubeMX:一个 "画图即配置 " 的软件 ------ 不用写代码,点鼠标就能设置STM32的硬件参数,自动生成基础代码。
- Keil MDK-ARM:一个 "写代码、传代码 " 的软件 ------ 把控制灯亮灭的简单代码写进去,再传到STM32板子上。
- 官方下载地址:https://www.keil.com/download/product/
- 安装完成后记得安装 ST-Link 驱动:在安装路径下找这个
\core\ARM\STLink\USBDriver\dpinst_amd64.exe运行即可
- HAL库 :可以理解为 "现成的工具包" ------ 里面有写好的控制硬件的简单指令,我们直接用就行,不用自己造。
TIPS: 点击上面的工具名会跳转到我提前下载好,保存在夸克网盘的对应安装压缩包 (官网太慢了),如失效请留言给我 ~ `(>﹏<)′ 帮大家加速加速 !!
第一步:用CubeMX"画图"配置(纯点鼠标,0代码)
CubeMX的作用就是帮我们"搭好架子",不用管底层原理,跟着点就行:
-
点击
ACCESS TO MCU SELECTOR选项

-
选择芯片
STM32F103C8T6,开始创建工程项目

-
设置 SYS 模块下的 Debug 为
Serial Wire(因为 ST-Link 采用的是 SW 调试接口)

-
设置 RCC 下的 HSE 为
Crystal/Ceramic Resonator(有了时钟信号 CPU 才能工作),设置时钟频率为72


-
设置 PC13 (我们本次点亮的是 PC13 小灯) 为
GPIO Output
6. 工程命名 LED
-
生成
Keil代码,点击GENERATE CODE后,等几秒,再点弹出的Open Project(自动打开 Keil 软件)

第二步:用Keil写点灯代码 (仅需一行代码)
打开Keil后,左边栏找到「Src」→ 双击「main.c」(这个文件是控制STM32干活的核心),在 main.c 的 while 函数内添加:
c
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);

Keil已经自动生成了所有基础代码,我们只需要加 1 行 "让灯亮" 的简单代码:
第三步:编译+烧录(点两下鼠标,必成功)

1. 编译代码(检查有没有写错)
点击Keil顶部的第二个图标(Build)→ 等几秒,底部窗口显示「0 Error, 0 Warning」(0个错误、0个警告),就是编译成功(有错误就检查代码是不是粘错位置了)。

2. 烧录代码(传到STM32板子上)
- 把ST-Link一头插电脑,一头插开发板,给开发板通电;
- 点击Keil顶部的"下载"图标(Download)→ 软件自动把代码传到板子上。

3. 看效果(必成功)
传完代码后 (记得按下板子上红色的 复位 按键),开发板上的LED灯就会 "亮"------恭喜你!第一次STM32开发就成功了。

总结
CubeMX帮我们把"难的、容易错的、需要记的"工作全做了,我们只需要专注做"让灯闪、让传感器工作"这种简单的事,先体验成功,再慢慢学原理。
新手必看:常见问题(解决了100%成功,不成功留言给我,一起学习!)
- 烧录失败:检查ST-Link有没有插紧、开发板有没有通电、USB线是不是插对接口了;
- 灯不亮:确认CubeMX里选的是PC13引脚,代码里的"GPIOC"没写成"GPIOA";
- 编译报错:检查代码是不是粘错位置了,工程路径有没有中文。
这一步成功后,后续学串口、传感器、电机控制,都是在这个基础上"多加点鼠标配置、多粘几行代码",难度完全可控,越学越有信心!