STM32 GPIO 学习笔记

发布时间:2026/8/11 15:48:37

STM32 GPIO 学习笔记
GPIO 基础与配置方法一、GPIO单片机与外界交互最基础的外设输出控制引脚输出高低电平驱动 LED、蜂鸣器等输入读取引脚电平用于按键等外部信号。STM32F103C8T6 的 GPIO 按端口分组每组 16 个引脚二、GPIO 的 8 种工作模式引脚内部通过寄存器配置决定工作模式模式方向说明典型用途浮空输入输入电平由外部决定容易悬空极少使用上拉输入输入内部上拉空闲默认高按键按下接地下拉输入输入内部下拉空闲默认低按键按下接高模拟输入输入不经过施密特触发器ADC 采样开漏输出输出只能拉低需外部上拉I2C、多机共线推挽输出输出能拉高也能拉低驱动强驱动 LED、蜂鸣器复用开漏输出复用由外设控制开漏外设功能复用推挽输出复用由外设控制推挽外设功能如 PWM输出点灯用推挽输出GPIO_Mode_Out_PP读按键用上拉输入GPIO_Mode_IPU。三、GPIO 常用寄存器标准库把寄存器封装成GPIOA-CRL形式代码里无需直接操作寄存器作用CRL配置低 8 位引脚PIN0~7模式CRH配置高 8 位引脚PIN8~15模式IDR输入数据寄存器读ODR输出数据寄存器写BSRR位设置/清除寄存器四、GPIO 配置1. 使能时钟GPIO 挂在 APB2RCC_APB2PeriphClockCmd2. 填充 GPIO_InitTypeDef 结构体调用 GPIO_Init 写入寄存器3. 输入→读取输出→控制使能时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);配置结构体并初始化GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP; // 推挽输出 GPIO_InitStructure.GPIO_Pin GPIO_Pin_0; // 引脚 PA0 GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; // 输出速度 GPIO_Init(GPIOA, GPIO_InitStructure);输入模式不需要GPIO_Speed模式改为GPIO_Mode_IPU/GPIO_Mode_IPD。操作引脚操作函数输出高电平GPIO_SetBits(GPIOA, GPIO_Pin_0)输出低电平GPIO_ResetBits(GPIOA, GPIO_Pin_0)按值写单引脚GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET/Bit_RESET)整端口写GPIO_Write(GPIOA, 0x0001)读取单引脚GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)读取输出寄存器GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0)五、编程常用技巧1. 延时函数软件延时void Delay(uint32_t i) { while (i--); } // 空转延时大小需按主频校准2. 按键软件消抖机械按键按下瞬间会抖动5~20ms需消抖检测到变化后延时跳过抖动二次确认。3. LED 翻转GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0)));4. 流水灯位运算GPIO_Write(GPIOA, 0x0001 i); // 1 左移 i 位点亮第 i 个 LED六、光敏传感器控制蜂鸣器1. 光敏传感器光敏电阻光照强 → 输出低电平光照弱遮挡→ 输出高电平STM32 用 GPIO输入模式读取该电平。2. 与按键的对比输入源电平来源空闲状态读取函数按键手动按下上拉高GPIO_ReadInputDataBit光敏传感器光照变化取决于光照GPIO_ReadInputDataBit思路一致配置为输入模式 → 读取电平 → 根据电平执行动作。区别只在信号源不同。3. 两个功能按键控制 LED按键按下翻转 LED光敏控制蜂鸣器光线变暗时蜂鸣器响起4. 光敏模块接线光敏模块输出引脚 ── GPIO 输入引脚如 PA1 光敏模块 VCC ── 3.3V 光敏模块 GND ── GND七、常见易错点忘记使能时钟→ 写入无效引脚无反应选错总线GPIO 必须用RCC_APB2PeriphClockCmd端口与引脚不一致GPIO_Init(GPIOA,...)要和GPIO_Pin_0对应引脚选错按开发板原理图确认实际引脚模式选错输出用 Push-Pull输入用 IPU/IPD二者不能混用按键不消抖→ 一次按压多次触发高/低电平逻辑错误看清电路低电平点亮时ResetBits才亮

相关新闻

只抓业绩不做战略,企业早晚陷入增长瓶颈

只抓业绩不做战略,企业早晚陷入增长瓶颈

2026/8/11 15:48:37

很多企业都有一个共性误区:把业绩当成经营的全部。团队全员紧盯月度回款、季度指标、年度排名,所有人都在埋头赶路,却极少有人抬头看路。短期数据看着节节攀升,团队干劲十足,看似一片向好,可不知不觉间&…

scikit-learn神经网络实战指南:突破传统机器学习边界的工程化解决方案

scikit-learn神经网络实战指南:突破传统机器学习边界的工程化解决方案

2026/8/11 15:38:37

scikit-learn神经网络实战指南:突破传统机器学习边界的工程化解决方案 【免费下载链接】sklearn-doc-zh :book: [译] scikit-learn(sklearn) 中文文档 项目地址: https://gitcode.com/gh_mirrors/sk/sklearn-doc-zh 面对复杂非线性问题…

比亚迪电驱系统三相逆变器技术解析:从FOC原理到SVPWM工程实现

比亚迪电驱系统三相逆变器技术解析:从FOC原理到SVPWM工程实现

2026/8/11 15:38:37

最近在分析新能源汽车电驱系统时,比亚迪的三合一电驱总成因其高度集成和性能表现,成为了一个绝佳的学习案例。特别是其核心部件——三相逆变器,它直接决定了电机的动力输出效率和整车性能。本文将以比亚迪 ATTO 3(元 PLUS&#xf…

高校科研工具推荐:实用好用的科研辅助工具汇总指南

高校科研工具推荐:实用好用的科研辅助工具汇总指南

2026/8/11 16:48:43

每次找到心仪的外国文献,却被付费墙冷冷地挡在外面,是不是感觉科研的热情瞬间被浇灭?作为学生党,我太懂这种无力感了。但好消息是,通过几个合法且免费的“通道”和技巧,我们完全能实现“文献自由”。今天分…

践行“十五五”绿色养护新要求 交科院联合沥路盾走进聊城助力公路低碳转型

践行“十五五”绿色养护新要求 交科院联合沥路盾走进聊城助力公路低碳转型

2026/8/11 16:48:43

2026年8月6日,交通运输部科学研究院工程技术与材料研究中心联合沥路盾(北京象之道交通科技有限公司)技术团队,赴山东省聊城市公路事业发展中心和聊城华鑫公路勘察设计有限责任公司开展技术座谈交流。双方围绕聚烯烃沥青复合添加剂…

CC switch配置API

CC switch配置API

2026/8/11 16:48:43

要用Codex,就用CC switch配置了一下API,分享一下过程。首先下载一个CC switch,打开之后,点击右上角加号CCswitch就配置好了,记得一定要重启一下你的CC switch和Codex,然后打开codex,就可以正常使…

BetterJoy:突破Switch手柄在Windows平台的通用控制器革命

BetterJoy:突破Switch手柄在Windows平台的通用控制器革命

2026/8/11 16:48:43

BetterJoy:突破Switch手柄在Windows平台的通用控制器革命 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.c…

主流通信协议(Modbus)的适用边界

主流通信协议(Modbus)的适用边界

2026/8/11 16:48:43

Modbus协议作为工业领域应用最广泛的通信协议之一,有明确的适用边界,既包含其适配的典型场景,也存在不适用的限制场景。一、核心适用场景‌简单工业设备数据交互‌:适配PLC、传感器、仪表等基础工业设备的常规数据采集与控制&…

QD框架变量系统深度解析:自动化任务的数据流转引擎

QD框架变量系统深度解析:自动化任务的数据流转引擎

2026/8/11 16:38:42

QD框架变量系统深度解析:自动化任务的数据流转引擎 【免费下载链接】qd QD [v20240210] —— HTTP请求定时任务自动执行框架 base on HAR Editor and Tornado Server 项目地址: https://gitcode.com/gh_mirrors/qd/qd QD框架作为一款基于HAR Editor和Tornado…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/10 5:58:32

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/11 15:57:54

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

Unity新手入门:从零搭建开发环境与核心概念解析

Unity新手入门:从零搭建开发环境与核心概念解析

2026/8/11 0:07:41

1. 项目概述:为什么Unity是游戏开发者的首选起点如果你对游戏开发感兴趣,或者想进入这个充满创造力的行业,那么“Unity”这个名字你肯定不陌生。它几乎是所有新手开发者、独立游戏团队,甚至是一些3A大厂在特定项目上的首选引擎。为…

Agency-Agents 智能体系统从零搭建实战指南

Agency-Agents 智能体系统从零搭建实战指南

2026/8/11 0:07:41

在开发复杂应用时,我们常常遇到单一模型难以兼顾全局规划与细节执行的困境。有时候,模型擅长创意生成却在逻辑推理上稍显吃力,或者精于代码编写却缺乏对业务上下文的深刻理解。为了解决这个问题,多智能体协作架构应运而生&#xf…

MiniMax 权益码 Token Plan 套餐 9 折优惠,Token Plan 共建邀请计划 至2026.8.31

MiniMax 权益码 Token Plan 套餐 9 折优惠,Token Plan 共建邀请计划 至2026.8.31

2026/8/11 0:07:41

🚀 MiniMax Token Plan MiniMax 推出全新 Token 计划,新增语音、音乐、视频和图片生成权益。 用户邀请好友可享双重福利 订阅一份套餐,解锁最新模型 —— 前沿 Coding 能力、1M 超长上下文、原生多模态,图文音视频共用套餐额度。 …

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…