首页 > 其他分享 >GPIO的八种工作模式(非原创)

GPIO的八种工作模式(非原创)

时间:2025-01-09 15:13:28浏览次数:1  
标签:输出 引脚 MOS 低电平 模式 八种 GPIO 输入

前言
GPIO 是通用输入输出端口(General Purpose Input Output)的简称,可以通过把GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
最基本的输出功能是控制引脚输出高、低电平,实现开关控制等
最基本的输入功能是检测外部输入电平等。
其中有八种输入输出模式,下面将会对八种模式逐一解释。

一、输入模式
在输入模式下,施密特触发器打开,输出模式被禁用,此时可通过输入数据寄存器读取I/O 状态。其中输入模式又可细分为上拉输入、下拉输入、浮空输入和模拟输入四种模式。

小知识
(1) TTL肖特基触发器(施密特触发器)
作用:用于稳定电平,防止高低电平来回波动
工作原理:施密特触发器会设置两条参考电压,高参考电压和低参考电压。
当高于高参考电压时,输出高电平;低于低参考电压时,输出低电平;位于两条参考电压之间时,保持之前的电平状态。
(2) 保护二极管
作用:防止过大的电压进入单片机内部,造成损坏
工作原理:输入时,IO引脚输入的电压如果大于3.3V,则连接VDD的二极管导通;IO引脚输入的电压如果小于0V,则连接VSS的二极管导通,只有当IO引脚输入的电压在0到3.3V之间的时候,才会进入内部电路,这样防止过大的电压进入单片机内部,造成损坏

1.上拉输入
VDD侧的开关闭合,内部上拉电阻导通,使其GPIO的默认状态为高电平。
应用场景:需要默认高电平的场合,如按键检测。

2.下拉输入
VSS侧的开关闭合,内部下拉电阻导通,使其GPIO的默认状态为低电平。
应用场景:需要默认低电平的场合,如检测低电平信号的变化。

3.浮空输入
VSS和VDD侧的开关都断开,此时GPIO的电平状态不确定,由外设决定。
应用场景:常用于按键检测,接收高低电平信号。

4.模拟输入
引脚直接接入片上外设,如用于ADC采集,不需要施密特触发器整形
应用场景:用于检测外部的模拟电压,如温度、压力传感器的输出。

二、输出模式
在输出模式下,推挽模式时双MOS 管以轮流方式工作,输出数据寄存器可控制I/O输出高低电平。开漏模式时,只有N-MOS 管工作,输出数据寄存器可控制I/O 输出高阻态或低电平。

1.推挽输出
通过输出驱动器控制P-MOS和N-MOS开关来输出高低电平的。
推挽输出英文为Push-Pull mode,可以理解为对电流进行推拉操作
当P-MOS闭合,N-MOS断开时,输出高电平,此时可理解为将电流推出去
当P-MOS断开,N-MOS闭合时,输出低电平,此时可理解为将电流拉(挽)进来
该模式下具有驱动能力,可以通过单片机内部电压驱动外设
应用场景:高速切换和高负载能力的场合,如驱动LED指示灯、继电器。

2.开漏输出
只有N-MOS工作,P-MOS一直处于断开状态。通过控制N-MOS的开合来控制电路。
该模式下无驱动能力,需要外部电压驱动外设
应用场景:需要外部上拉电阻定义高电平的场合,如I2C通信。

  1. 两种模式区别

三、复用模式
在复用功能模式下,输出使能,输出速度可配置,可工作在开漏及推挽模式,但是输出信号源于其它外设,输出数据寄存器无效;输入可用,通过输入数据寄存器可获取I/O 实际状态,但一般直接用外设的寄存器来获取该数据信号。

1.复用推挽输出
GPIO输出控制的来源来自片上外设,如串口模块,PWM波等,其原理和普通的推挽输出一样。

2.复用开漏输出
GPIO输出控制的来源来自片上外设,如I2C模块等,其原理和普通的开漏输出一样。

四、代码实现

/* 定义一个GPIO_InitTypeDef类型的结构体 */
GPIO_InitTypeDef GPIO_InitStruct = {0};

/* 开启相关的GPIO外设时钟 */
__HAL_RCC_GPIOC_CLK_ENABLE();

/* 选择要控制的GPIO引脚/
GPIO_InitStruct.Pin = GPIO_PIN_13;
/
设置引脚模式为通用推挽输出/
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
/
指定引脚的上下拉配置 /
GPIO_InitStruct.Pull = GPIO_NOPULL;
/
设置引脚速率 /
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
/
初始化GPIOC*/
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

/*配置GPIO的输出电平状态 */
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);

摘自 只争朝夕的奈斯

标签:输出,引脚,MOS,低电平,模式,八种,GPIO,输入
From: https://www.cnblogs.com/yashiror/p/18662169

相关文章

  • 一个个顺序挨着来 - 责任链模式(Chain of Responsibility Pattern)
    责任链模式(ChainofResponsibilityPattern)责任链模式(ChainofResponsibilityPattern)责任链模式(ChainofResponsibilityPattern)概述责任链结构图责任链模式概述责任链模式涉及的角色talkischeap,showyoumycode总结责任链模式(ChainofResponsibilityPatt......
  • Sigrity System SI SerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_single_post
    SigritySystemSISerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_single_postSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要......
  • Sigrity System SI SerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_xt_pre
    SigritySystemSISerialLink模式进行Mipi协议仿真分析操作指导-mipi_m_xt_preSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要检查......
  • [QMT量化交易小白入门]-十一、miniQMT和QMT根据当前运行模式动态加载不同的行情模块和
    本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。相关阅读小白也能做量化:零门槛QMT、Ptrade免......
  • 代码精简之路-模板模式
    1.前言程序员怕重复CRUD,总是做一些简单繁琐的事情。“不要重复造轮子”,“把基础功能提炼出来封装成工具类”我喜欢把这些话挂在嘴边,写起来常不知从何下手。下面拆解一个项目中的功能。记录从复制粘贴到对业务抽象、实现功能分层的详细过程。如何着手提升代码重构优化能力,拿到......
  • Python Mixin 模式:解锁代码复用的艺术
    在面向对象编程中,代码复用是一个至关重要的概念。它不仅能够减少重复劳动,还能提高代码的可维护性和一致性。Python作为一种高度灵活且功能强大的编程语言,提供了多种机制来支持代码复用,其中Mixin模式便是实现这一目标的一种重要手段。一、什么是Mixin?Mixin是一种设计模式和......
  • 设计模式-策略模式
    作者:京东工业孙磊一、概念策略模式(StrategyPattern)也称为(PolicyParttern)。它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变换,不会影响到使用算法的客户。策略模式属性行为模式。策略模式结构图二、实际应用业务场景:业务需要监听多种消息,将接收到的......
  • 文件防泄密措施有哪些?八种方法有效防止文档泄密!文档防泄密
    文件防泄密措施有哪些?八种方法有效防止文档泄密!文档防泄密在信息为王的时代,企业文档作为核心资产,其安全保密至关重要。一旦发生泄密事件,不仅会导致商业机密外流,更可能使企业在激烈的市场竞争中陷入被动。域智盾软件宛如一位忠诚的卫士,为企业文件安全筑起坚固防线,提供了一系......
  • 设计模式-策略模式
    策略模式(StrategyPattern)是一种行为型设计模式,它允许定义一系列算法(或策略),并将每个算法封装起来,使得它们可以互换使用。策略模式让算法的变化独立于使用算法的客户端。策略模式的关键要点:上下文(Context):持有一个策略对象,并且通过调用策略对象的方法来执行特定的算法或操作。......
  • DP系列时间服务器,支持多模式高精度授时,快速实现跟踪锁定
    DP系列时间服务器,支持多模式高精度授时,快速实现跟踪锁定,保持能力业界领先。产品适用于室内、室外、主时钟、从时钟、边界时钟等不同应用场景。应用通信网络:移动通信基站、承载网设备等轨道交通:地铁、高铁、轻轨等专网通信电力:运行调度、故障定位、电力通信网络等其他:公安、税......