尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

STM32 01 LED点灯(第一天学习)

STM32 01 LED点灯(第一天学习)
📅 发布时间:2026/7/6 3:17:26

一、前言

今天是我正式接触STM32的第一天,之前只是简单看过相关理论,今天第一次动手实操点灯实验。目前我基础很差,还不会代码封装、工程分层这类技巧,只能写最直白简单的代码,把这次实验完整记录下来,方便日后复盘,也给同样刚入门的同学做个参考,大佬们看到有写得不对的地方欢迎指正。

二、实验目标

初步认识STM32的GPIO输出功能,控制板载LED周期性亮灭闪烁。

三、本地工程真实结构

我使用的是基础空白模板工程,文件夹只有系统自带的四类,没有Hardware文件夹,也没有新建单独的驱动文件:

  1. Start:芯片启动文件,固定自带,不用修改
    ​
  2. Library:官方底层标准库,提供外设相关函数
    ​
  3. System:存放系统时钟、延时工具函数
    ​
  4. User:唯一可以自行编写代码的目录

现阶段我完全不懂得代码分层封装,所有操作逻辑直接写在User下的main.c主函数内,不额外新建.c/.h驱动文件,贴合刚上手的学习水平。

四、硬件原理(浅显理解)

  1. 开发板自带LED连接在PC13引脚;
    ​
  2. 引脚输出低电平,LED导通点亮;输出高电平,LED断电熄灭;
    ​
  3. 电路里需要串联220Ω限流电阻,避免电流过大烧毁灯珠,这点是学长提醒我的。

五、完整代码

`#include"stm32f10x.h"// Device header#include"delay.h"intmain(){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStruct);while(1){GPIO_ResetBits(GPIOA,GPIO_Pin_0);Delay_ms(500);GPIO_SetBits(GPIOA,GPIO_Pin_0);Delay_ms(500);}}

六、个人粗浅学习感悟

作为刚入门的新手,我现在对知识点的理解还特别浅薄,简单梳理一下今天学到的内容:

  1. STM32的GPIO外设默认关闭时钟,如果忘记添加开启时钟的代码,LED完全没有任何反应,这是我踩的第一个大坑;
    ​
  2. 引脚模式必须设置为推挽输出,只有这个模式才能主动输出高低电平,选错模式无法驱动LED;
    ​
  3. GPIO_ResetBits用来拉低引脚电平、点亮灯光,GPIO_SetBits拉高电平、关闭灯光,最开始我记反了,反复试了好几次才分清;
    ​
  4. while(1)无限死循环是单片机程序的核心,能让亮灭逻辑不断重复,实现持续闪烁的效果。

七、今天踩过的所有坑

  1. 漏写时钟开启代码,上电后LED毫无动静,排查很久才找到问题;
    ​
  2. 不清楚引脚速度参数的作用,暂时先照搬教程里的50MHz;
    ​
  3. 高低电平逻辑混淆,上电后LED一直常亮,无法熄灭;
    ​

相关新闻

  • 3大核心功能彻底解决Android存储空间不足问题:SD Maid SE深度清理指南
  • 开源中文字体的终极解决方案:思源宋体专业设计指南
  • Java---牛客的ACM模式被卡输入输出时间,如何解决?一个模版即可解决

最新新闻

  • AI工程化实践:用HTML替代Figma构建可交互智能体
  • 用九宫格切图API打造爆款朋友圈:从原理到代码实战
  • USB设备共享终极指南:usbipd-win完整教程
  • 视频帧率插值工具的技术解析与应用实践:从24fps到60fps的完美蜕变指南
  • Jeepay企业级分布式支付系统:面向电商平台的高性能聚合支付解决方案
  • 【Qwen3.6-27B技术解析】27B稠密模型如何用混合架构击败397B MoE

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号