STM32 GPIO踩坑笔记
一、基础概念引脚 / GPIOGPIO通用输入输出引脚芯片对外控制、读取信号的通道。命名GPIOA、GPIOB…引脚Pin_0 ~ Pin_15。高低电平3.3V附近 高电平0V附近 低电平。LED典型接法3.3V → LED → 电阻 → IO口IO输出低电平灯点亮。寄存器 驱动器寄存器芯片内部“开关储物格子”代码写数值进去控制硬件行为。驱动器GPIO内部硬件电路负责根据寄存器指令输出电平。保护二极管GPIO内部引脚电压3.3V上方二极管导通钳位保护。引脚电压0V下方二极管导通。作用防止外部高压烧坏芯片不要依靠它承受持续大电压。二、GPIO四种输出模式重点推挽输出 GPIO_Mode_Out_PP点灯最常用内部同时有上、下管子既能主动输出高电平也能主动拉低电平。✅ 适合直接驱动LED。开漏输出 GPIO_Mode_Out_OD只有下拉管无法主动输出高电平需要外部上拉电阻。多用于I2C通信。上拉输入 / 下拉输入用来读取外部按键信号。三、标准库点灯核心代码知识点开启外设时钟必须第一步RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);芯片外设默认关闭时钟不开时钟 → GPIO完全不工作。GPIO初始化结构体GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;//模式GPIO_InitStructure.GPIO_PinGPIO_Pin_0;//选择引脚GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;//速度GPIO_Init(GPIOA,GPIO_InitStructure);电平控制函数GPIO_SetBits(GPIOA,GPIO_Pin_0);输出高电平GPIO_ResetBits(GPIOA,GPIO_Pin_0);输出低电平GPIO_Write(GPIOA,数值);一次性设置端口全部16个引脚数值bit1 →高电平bit0 →低电平按位取反运算符 ~0x0001 二进制0000 0000 0000 0001PA01~0x0001每一位0变11变0结果1111 1111 1111 1110仅PA00其余全部高电平作用不用手动换算十六进制快速单独拉低某一个引脚。四、延时函数Delay_ms(500);毫秒延时流水灯依靠延时实现灯光切换间隔。完整流水灯循环模板你的代码while(1){GPIO_Write(GPIOA,~0x0001);Delay_ms(500);GPIO_Write(GPIOA,~0x0002);Delay_ms(500);GPIO_Write(GPIOA,~0x0004);Delay_ms(500);GPIO_Write(GPIOA,~0x0008);Delay_ms(500);}五、硬件下载ST-LINK 核心知识点SWD标准接线4根ST-LINK SWDIO → 开发板SWDIOST-LINK SWCLK → 开发板SWCLKST-LINK GND → 开发板GND可选3.3V供电不要接5VBOOT0引脚规则BOOT0接GND常态从主闪存启动下载程序正常模式BOOT0拉高从系统存储器启动串口下载模式常见硬件现象PWR灯亮板子供电正常PC13板载LED默认不亮属于正常必须代码控制电平才能点亮。六、Keil软件大量踩坑总结【重中之重】1. 文件相关规则1.h头文件不要添加到工程左侧目录只需要添加.c文件头文件只需要配置包含路径。2禁止同一个文件重复加入工程 你遇到的两份startup_stm32f10x_md.s直接引发链接报错L6235E链接失败无法生成axf文件。2. 路径致命问题❌ 工程文件夹不能包含中文中文目录后果编译产物异常、cannot open file、找不到axf、下载失败。3. 编译流程顺序Clean Targets清理旧文件→Rebuild全部重新编译必须保证 Build Output0 Error只要存在Error不会生成Project.axf下载按钮直接报错。4. 报错对应解决方案undeclared identifier函数/宏找不到原因头文件缺失、拼写错误、文件没有加入工程。L6235E启动文件重复删除多余启动文件。Could not load file Project.axf根本原因编译链接失败没有生成axf优先解决编译Error不是硬件问题七、新手高频避坑清单操作GPIO之前一定要开启时钟忘记时钟是最高频错误LED电路分清高电平点亮 / 低电平点亮不要逻辑写反ST-LINK接线严禁调换SWDIO/SWCLKBOOT0默认接地不要悬空乱接Keil工程名称、路径全部英文杜绝中文一个工程仅保留一份启动文件 startup.s编译先看有没有Error编译成功才能下载程序GPIO_Write配合~使用建议加上括号(~0x0001)避免优先级问题。如果你需要我可以再把这份笔记精简成一页背诵版或者补充一份可直接复制的标准流水灯完整工程代码。

相关新闻

电影《活久久》杀青 艺考女状元郑佳慧后劲十足持续突破

电影《活久久》杀青 艺考女状元郑佳慧后劲十足持续突破

近日,改编自真实抗癌故事的院线电影《活久久》于浙江温州顺利杀青。影片由知名导演陈国辉执导,集结众多实力演员,聚焦生命与热爱,传递向阳而生的治愈力量。青年演员郑佳慧在片中饰演乐观坚韧的患者“卤蛋”,凭借真实细…

2026/10/14 23:52:28 阅读更多 →
深入解析:DOM 渲染在哪个 Vue 生命周期钩子中就已经完成?

深入解析:DOM 渲染在哪个 Vue 生命周期钩子中就已经完成?

一、DOM 渲染完成时机的深度解析 1.1 生命周期的总体流程 Vue 的生命周期是指一个 Vue 实例从创建开始到销毁的整个过程。在数据驱动的前端开发中,理解每个阶段对 DOM 的影响至关重要。为了直观地理解 DOM 渲染完成的时间点,我们可以通过以下流程图来查看…

2026/10/4 20:35:32 阅读更多 →
51单片机烟雾传感器(附代码与仿真)

51单片机烟雾传感器(附代码与仿真)

随着社会对消防安全意识的不断提高,智能烟雾报警器在家庭、商场和工厂中扮演着至关重要的角色。本设计基于 AT89C51单片机,结合 ADC0808模数转换芯片 和 LCD1602液晶显示屏,设计了一款能够实时检测环境烟雾浓度,并在浓度超标时进行…

2026/10/13 21:29:06 阅读更多 →

最新新闻

Tuxedo客户端域连接配置与TPEDOMAIN错误排查指南

Tuxedo客户端域连接配置与TPEDOMAIN错误排查指南

1. 项目概述:这不是一次普通网络连通测试,而是一次面向生产环境的域身份验证闭环验证“tuxedo域连接配置与测试(客户端测试)”这个标题里藏着三个关键信号:tuxedo——不是Linux发行版Tuxedo OS,而是BEA&…

2026/10/15 9:14:01 阅读更多 →
AMD 82亿美元押注世界模型:从芯片到物理AI的生态布局

AMD 82亿美元押注世界模型:从芯片到物理AI的生态布局

1. 一笔天价收购背后的行业信号2024年夏天,一条消息在芯片圈和AI圈同时炸开:AMD宣布以约6.65亿美元现金加股票的方式收购欧洲最大的私人AI实验室Silo AI,整体交易价值约6.65亿美元。而更早之前,AMD还完成了一笔让整个行业侧目的操…

2026/10/15 9:14:01 阅读更多 →
SpringBoot+Vue企业级电商系统架构设计与实战

SpringBoot+Vue企业级电商系统架构设计与实战

1. 项目概述:企业级电商系统的技术选型与价值最近在整理一个基于SpringBootVue的企业级服装商城管理系统,这套方案在中小型电商项目中非常典型。不同于简单的Demo项目,这套架构真正考虑了高并发场景下的稳定性、前后端协作效率以及可维护性。…

2026/10/15 9:14:01 阅读更多 →
AI模型训练暂停背后:智能体安全边界与DNS防护实战

AI模型训练暂停背后:智能体安全边界与DNS防护实战

1. 从一条新闻说起:模型训练为什么会被按下暂停键前几天有个消息在圈子里传得挺开:某头部AI机构宣布暂停其最强模型的训练,原因不是算力不够,也不是资金断裂,而是训练过程中出现了一系列失控事件——用户照片被外泄、智…

2026/10/15 9:14:01 阅读更多 →
Django足球训练营管理系统开发实践

Django足球训练营管理系统开发实践

1. 项目概述这个基于Django的足球训练营管理系统,是我为一家职业足球俱乐部开发的综合性解决方案。系统主要解决三个核心问题:俱乐部日常管理、球员训练计划制定和球员能力评估。在实际使用中,这套系统已经帮助俱乐部将球员评估效率提升了60%…

2026/10/15 9:14:01 阅读更多 →
Mac本地生图实战:Stable Diffusion与MPS加速,182秒一张、10GB内存

Mac本地生图实战:Stable Diffusion与MPS加速,182秒一张、10GB内存

1. 为什么要在 Mac 上折腾本地生图先把结论摆在最前面:在 Mac 上跑本地生图,目前最现实的路径就是基于 Stable Diffusion 系列模型配合 Apple Silicon 的 MPS 加速,用 10GB 左右统一内存换一张 512512 到 768768 的图,单张耗时大概…

2026/10/15 9:12:55 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →