【保姆级实操版 - STM32 系列笔记】新手入门STM32第一课:CubeMX+Keil MDK实现LED点灯

前言 :对于零基础的 STM32 新手,入门的核心是用最简单的步骤跑通第一个Demo(点灯),先体验 " 写代码→烧录→灯亮 " 的成就感,再慢慢理解复杂的原理。

  • 本文全程避开"寄存器、时钟树"等难懂名词,只用"点鼠标、复制代码"的操作,带你100%跑通STM32点灯。

文章目录


准备工作(照做就行,无难度)

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的作用就是帮我们"搭好架子",不用管底层原理,跟着点就行:

  1. 点击 ACCESS TO MCU SELECTOR 选项

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

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

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

  5. 设置 PC13 (我们本次点亮的是 PC13 小灯) 为 GPIO Output
    6. 工程命名 LED

  6. 生成 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%成功,不成功留言给我,一起学习!)

  1. 烧录失败:检查ST-Link有没有插紧、开发板有没有通电、USB线是不是插对接口了;
  2. 灯不亮:确认CubeMX里选的是PC13引脚,代码里的"GPIOC"没写成"GPIOA";
  3. 编译报错:检查代码是不是粘错位置了,工程路径有没有中文。

这一步成功后,后续学串口、传感器、电机控制,都是在这个基础上"多加点鼠标配置、多粘几行代码",难度完全可控,越学越有信心!

相关推荐
玩转单片机与嵌入式4 小时前
一个成熟的嵌入式AI系统,是长什么样子的?
人工智能·单片机·嵌入式硬件·嵌入式ai
.Cnn7 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
玩转单片机与嵌入式8 小时前
不会 Python、不会深度学习,也能在STM32上跑AI模型吗?
人工智能·单片机·嵌入式硬件·嵌入式ai
九成宫8 小时前
IT项目管理期末复习——Chapter 10 项目沟通管理
笔记·项目管理·软件工程
23471021278 小时前
4.14 学习笔记
笔记·python·学习
jghhh019 小时前
基于STM32的桌面Mini时钟设计
stm32·单片机·嵌入式硬件
sonnet-10299 小时前
函数式接口和方法引用
java·开发语言·笔记
电化学仪器白超9 小时前
小乌龟Git全程图形化操作指南:嵌入式本地版本管理与Gitee私有云备份实战
git·python·单片机·嵌入式硬件·物联网·gitee·自动化
skylijf9 小时前
2026 高项第 6 章 预测考点 + 练习题(共 12 题,做完稳拿分)
笔记·程序人生·其他·职场和发展·软件工程·团队开发·产品经理
今天你TLE了吗9 小时前
LLM到Agent&RAG——AI概念概述 第二章:提示词
人工智能·笔记·后端·学习