0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

彻底搞懂8种GPIO输入输出模式

朱老师物联网大讲堂 2024-04-03 08:09 次阅读

一、STM32的4种输入模式


输入浮空:此模式下该引脚的高低电平由外部决定,用于读取外部电平状态。

输入上拉:此模式下该引脚浮空时电平状态为高电平,如果外部对该引脚施加一个低电平,会改变该引脚状态为低电平。

输入下拉:此模式下该引脚浮空时电平状态为低电平,如果外部对该引脚施加一个高电平,会改变该引脚状态为高电平。

模拟输入:此模式下可以输入模拟信号,对齐进行采样转化为数字信号

二、STM32的4种输出模式

开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。

一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。

比如:加上上拉电阻就可以提供TTL/CMOS电平输出等(上拉电阻的阻值决定了逻辑电平转换的沿的速度。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度)。

推挽输出:可以输出高/低电平,连接数字器件。推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。

高低电平由IC的电源低定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。

输出既可以向负载灌电流,也可以从负载抽取电流推拉式输出级既提高电路的负载能力,又提高开关速度。

开漏复用功能:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。

推挽复用功能:同开漏复用一样。

三、IO模式的宏名

GPIO_Mode_AIN:模拟输入

GPIO_Mode_IN_FLOATING:浮空输入

GPIO_Mode_IPD:下拉输入

GPIO_Mode_IPU:上拉输入

GPIO_Mode_Out_OD:开漏输出

GPIO_Mode_Out_PP:推挽输出

GPIO_Mode_AF_OD:复用开漏输出

GPIO_Mode_AF_PP:复用推挽输出

四、相关寄存器介绍

GPIOx_CRL:GPIO0~7的模式设置和速率设置

GPIOx_CRH:GPIO7~15的模式设置和速率设置

GPIOx_IDR:GPIO输入数据寄存器,做输入用的

GPIOx_ODR:GPIO输出数据寄存器,做输出的

GPIOx_BSRR:GPIO复位/置位寄存器,原子操作

GPIOx_BRR:GPIO复位寄存器

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348866
  • 引脚
    +关注

    关注

    16

    文章

    1045

    浏览量

    48973
  • GPIO
    +关注

    关注

    16

    文章

    1137

    浏览量

    50596
收藏 人收藏

    评论

    相关推荐

    GPIO输入输出模式

    新手在学stm32,八GPIO输入输出模式,按照端口配置寄存器应该是用4位表示,为什么官方库里要这样枚举?typedef enum{ GPIO
    发表于 09-06 01:39

    STM32的8GPIO模式该怎么理解?

    最近在看数据手册的时候,发现STM32的GPIO输入输出模式的配置种类有8之多 。
    发表于 10-16 08:20

    GPIO 8工作模式输入模式

    一、GPIO 8工作模式输入模式:1. GPIO_
    发表于 08-13 07:27

    STM32的GPIO输入输出模式分别有哪几种呢

    STM32的8GPIO输入输出模式参考文章“STM32的8
    发表于 12-09 08:21

    STM8 GPIO输入输出模式是什么样的?

    STM8 GPIO输入输出模式是什么样的?
    发表于 02-21 07:25

    6.2 通用输入输出GPIO(神舟王207)

    此文档是关于神舟王开发板之输入输出GPIO的介绍和讲解;
    发表于 05-25 10:01 2次下载

    使用GPIO输入输出各种模式的详细资料讲解

    。本文尽可能的将IO涉及到的所有问题罗列出来,对于有明确答案的问题解释清楚,对于还存在疑问的地方也将问题提出,供大家讨论。概括地说,IO的功能模式大致可以分为输入输出以及输入输出双向
    发表于 08-19 17:31 1次下载
    使用<b class='flag-5'>GPIO</b><b class='flag-5'>输入输出</b>各种<b class='flag-5'>模式</b>的详细资料讲解

    MCU通用输入输出端口(GPIO)输出模式

    对于常规MCU,通用输入输出GPIO)是其最基本、最常用的功能,用于实现最基本的数字量输入输出。 信号一般为:以3.3VDC为高电平的LTTL电平以5.0VDC为高电平的TTL电
    发表于 10-28 19:06 16次下载
    MCU通用<b class='flag-5'>输入输出</b>端口(<b class='flag-5'>GPIO</b>)<b class='flag-5'>输出</b><b class='flag-5'>模式</b>

    二.GPIO输入输出及延迟函数

    一. GPIO八种模式,四种输入,四种输出1.GPIO输入初始化void
    发表于 11-24 20:06 1次下载
    二.<b class='flag-5'>GPIO</b><b class='flag-5'>输入输出</b>及延迟函数

    04、STM8通用输入输出口(GPIO)

    04、STM8通用输入输出口(GPIO)文章目录04、STM8通用输入输出口(GPIO)1、概述2、GPIO主要功能3、I/O 的配置和使用
    发表于 11-26 15:21 9次下载
    04、STM8通用<b class='flag-5'>输入输出</b>口(<b class='flag-5'>GPIO</b>)

    STM32的8种GPIO输入输出模式

    STM32的8种GPIO输入输出模式参考文章“STM32的8种GPIO输入输出模式深入详解”和“
    发表于 11-26 17:06 16次下载
    STM32的8种<b class='flag-5'>GPIO</b><b class='flag-5'>输入输出</b><b class='flag-5'>模式</b>

    (转)STM32的八种输入输出模式详解

    输入模式-输入浮空(GPIO_Mode_IN_FLOATING)-输入上拉(GPIO_Mode_
    发表于 11-30 21:06 17次下载
    (转)STM32的八种<b class='flag-5'>输入输出</b><b class='flag-5'>模式</b>详解

    GPIO通用输入输出

    GPIO通用输入输出一、GPIO的功能概述用途:GPIO是通用输入输出(General Purpose I/O)的简称,主要用于工业现场需要
    发表于 12-20 18:58 6次下载
    <b class='flag-5'>GPIO</b>通用<b class='flag-5'>输入输出</b>

    通用输入输出GPIO是什么

    GPIO代表通用输入/输出。它是集成电路上的一种引脚,没有特定功能。虽然大多数引脚都有专用用途,例如向特定组件发送信号,但 GPIO 引脚的功能是可定制的,并且可以由软件控制。 引脚
    发表于 03-23 14:04 972次阅读
    通用<b class='flag-5'>输入输出</b><b class='flag-5'>GPIO</b>是什么

    MSPM0L1306开发板教程之GPIO输入输出

    GPIO算是所有MCU入门的第一步,今天的教程就来教大家设置MSPM0L系列的GPIO输入输出功能。
    的头像 发表于 05-04 17:22 3054次阅读
    MSPM0L1306开发板教程之<b class='flag-5'>GPIO</b><b class='flag-5'>输入输出</b>