当前位置: 首页 > news >正文

GPIO口输入

GPIO(General Purpose Input/Output,通用输入输出)是 STM32 芯片中最基础且常用的外设,可配置为输入、输出等多种模式。

一、GPIO 输入模式分类

STM32F10x 系列的 GPIO 输入模式主要有以下 4 种:

模式类型特点说明应用场景
浮空输入(Floating Input)引脚电平由外部电路决定,无内部上拉 / 下拉电阻,高电平时易受干扰外部有上拉 / 下拉电路的场景(如按键外接上拉电阻)
上拉输入(Pull-Up Input)内部上拉电阻使能,无外部输入时引脚默认高电平按键检测(无外接上拉时)、传感器输出(默认高电平)
下拉输入(Pull-Down Input)内部下拉电阻使能,无外部输入时引脚默认低电平传感器输出(默认低电平)、外部低电平触发的场景
模拟输入(Analog Input)引脚用于 ADC 采样,信号直接进入模拟模块,无数字电平检测(禁用上拉 / 下拉)ADC 模数转换、模拟传感器输入

二、GPIO 输入配置步骤(以 STM32F10x 固件库为例)

配置 GPIO 输入模式需遵循 **“时钟使能→模式配置→上拉 / 下拉配置”** 的流程,以下是具体代码实现(以 PA0 为例,配置为上拉输入):

#include "stm32f10x.h"void GPIO_Input_Config(void)
{// 1. 使能GPIOA的时钟(GPIO外设时钟在APB2总线上)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;// 2. 配置GPIO模式GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;    // 模式:上拉输入(IPU);浮空输入为GPIO_Mode_IN_FLOATING,下拉为GPIO_Mode_IPD,模拟为GPIO_Mode_AINGPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;         // 选择PA0引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 输入模式下,速度配置不影响功能(可任意选)GPIO_Init(GPIOA, &GPIO_InitStructure);           // 应用配置到GPIOA
}

三、输入模式的读写操作

配置完成后,可通过库函数读取 GPIO 输入电平:

uint8_t Read_GPIO_Input(void)
{// 读取PA0的输入电平,返回1(高电平)或0(低电平)return GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0);
}

四、关键注意事项

  1. 引脚复用冲突:若 GPIO 引脚被复用为其他外设(如 USART、SPI),需确保模式配置与外设需求一致,避免功能冲突。
  2. 抗干扰设计:浮空输入易受电磁干扰,若外部无上下拉电路,建议优先选择上拉 / 下拉输入;模拟输入需避免数字信号干扰,保证采样精度。
  3. 硬件电路匹配:上拉输入的外部电路若为低电平驱动(如 NPN 三极管集电极输出),需确认电平匹配(STM32 的 IO 高电平需≥2V,低电平≤0.8V)。

五、避免混淆

这里给出 F10x 系列 GPIO 的完整模式分类,清晰划分输入 / 输出边界:

1. 输入模式(4 种)
  • 浮空输入(GPIO_Mode_IN_FLOATING)
  • 上拉输入(GPIO_Mode_IPU)
  • 下拉输入(GPIO_Mode_IPD)
  • 模拟输入(GPIO_Mode_AIN)
2. 输出模式(2 种核心类型)
  • 推挽输出(GPIO_Mode_Out_PP)
  • 开漏输出(GPIO_Mode_Out_OD)
3. 复用功能模式(额外补充,用于外设功能)

当 GPIO 引脚复用为 USART、SPI 等外设时,也分为复用推挽输出(GPIO_Mode_AF_PP)和复用开漏输出(GPIO_Mode_AF_OD),本质还是 “输出模式 + 外设复用”,并非输入模式。

http://www.dtcms.com/a/521715.html

相关文章:

  • 学校网站怎么做推广方案网站建设作业百度云资源
  • 随州做网站公司情感营销案例
  • 科技网站新版网站上线怎么看网站使用什么做的
  • 网站制作英文版网站创建公司策划书
  • c++注意点(15)----中介者模式
  • 正规网站建设团队是什么怎么在自己的网站上传视频
  • vs2017手机网站开发一千元左右最好的手机
  • 整站优化seo公司哪家好弹幕网站开发代码
  • 大学英文网站建设方案搜索引擎营销广告
  • 中文网站什么意思广州公司注册一网通
  • 赣州找工作的网站私自做彩票网站销售犯法么
  • TDengine 数学函数 RAND 用户手册
  • windows 安装 TDengine
  • 网站制度建设存在的问题服务器重启 iis网站暂停
  • 蛋白表达原理与关键要素解析
  • 网站seo搜索引擎优化案例千牛怎么做免费推广引流
  • 为什么top和/proc/pid/statm、/proc/pid/statm 统计的内存结果不同
  • 基于SpringBoot2+Vue2的论坛发帖交流平台
  • 耒阳在那做网站抖音关键词排名系统
  • 如何用万网做自己的网站网页游戏开发软件
  • 纪念馆网站建设方案旅游网站技术方案
  • 阮一峰《TypeScript 教程》学习笔记——数组
  • KVSTORE_Pain point_tuchuang_ROS2
  • 清控人居建设集团网站wordpress 主题 设计
  • 和17做网店一样的货源网站做网站设计管理的专业
  • 趋势强度识别对ETF止盈触发条件的改进路径
  • 杭州房产网官网企业网站seo模板
  • 中国万网建站平台做移动网站建设
  • 网站内部链接的作用有哪些正规网站建设找哪家好
  • 【11408学习记录】考研数学高频考点精讲:古典概型+几何概型解题框架