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

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

3天内不再提示

STM32单片机的八种IO口模式

GReq_mcu168 来源:玩转单片机 2020-09-21 16:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

八种IO口模式

STM32有八种IO口模式,分别是:模拟输入、浮空输入、上拉输入、下拉输入、开漏输出、推挽输出、复用开漏输出和复用推挽输出。

1、模拟输入

GPIO_Mode_AIN模拟输入,即关闭施密特触发器,将电压信号传送到片上外设模块(不接上下拉电阻)。

2、浮空输入

GPIO_Mode_IN_FLOATING浮空输入。浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

3&4、上下拉输入

GPIO_Mode_IPD下拉输入,GPIO_Mode_IPU上拉输入。一般来讲,上拉电阻为1K-10K,电阻越小,驱动能力越强。

电阻的作用:防止输入端悬空,减少外部电流对芯片的干扰,限流,增加高电平输出时的驱动能力。

当GPIO引脚无输入时,上拉输入在默认状态下为高电平,下拉输入在默认状态下为低电平。

5、开漏输出

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

6、推挽输出

GPIO_Mode_Out_PP推挽输出,可以输出高、低电平,连接数字器件。

7&8、复用开漏推挽输出

GPIO_Mode_AF_OD复用开漏输出,GPIO_Mode_AF_PP复用推挽输出。可以理解为GPIO口被用作第二功能时的配置情况,即并非作为通用IO口使用。

IO模式选用

浮空输入:可以做KEY识别,RX1。

上拉输入:IO内部上拉电阻输入。

下拉输入:IO内部下拉电阻输入。

模拟输入:应用ADC模拟输入,或者低功耗下省电。

开漏输出:IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能。

推挽输出:IO输出0-接GND,IO输出1 -接VCC,读输入值是未知的。

复用推挽输出:片内外设功能,I2C的SCL、SDA。

复用开漏输出:片内外设功能,TX1,MOSI,MISO.SCK.SS。

引脚配置方式 通常有5种方式使用某个引脚功能,它们的配置方式如下:

1、作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。

2、作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。 3、作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。 4、作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。 5、作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。

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

    关注

    6074

    文章

    45340

    浏览量

    663532
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371150
  • GPIO
    +关注

    关注

    16

    文章

    1313

    浏览量

    55727

原文标题:STM32单片机必须掌握的八种IO口模式和引脚配置方式

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机系列 的IO输出阻抗是多少?

    通常单片机系列 的IO输出阻抗是多少?
    发表于 11-24 06:16

    IO8工作模式和应用

    在芯片设计中,IO(输入/输出端口)是微控制器(MCU)或处理器与外部设备交互的关键接口。IO的工作模式通常由芯片的硬件设计和软件配置决
    发表于 11-14 06:46

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要意义。测量
    的头像 发表于 07-25 11:39 476次阅读

    使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序

    本文详细介绍如何使用ST-LINK/V2和USB转TTL串口板为STM32单片机下载程序,包括STM32启动模式、JTAG与SWD接口对比、驱动安装及官方软件
    的头像 发表于 06-20 17:26 2050次阅读
    使用USB转TTL串口板和ST-LINK调试下载器给<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>下载程序

    STM32F10xxx单片机编程手册

    电子发烧友网站提供《STM32F10xxx单片机编程手册.pdf》资料免费下载
    发表于 04-14 14:56 17次下载

    STM32F103x8 STM32F103xB单片机数据手册

    STM32F103x8STM32F103xB单片机数据手册
    发表于 04-14 14:55 6次下载

    瑞萨RA8D1单片机IO中断配置实现方法

    本文为结合瑞萨e2 studio工具,以及CPKCOR_RA8D1B评估板,给大家讲述瑞萨RA8D1单片机IO中断配置实现的方法。
    的头像 发表于 04-09 15:05 1517次阅读
    瑞萨RA8D1<b class='flag-5'>单片机</b><b class='flag-5'>IO</b>中断配置实现方法

    单片机学习之GPIO

    今日分享如何通过手册理解单片机IO知识点含义解释:1.GPIO:同我们常说的IO一样,GeneralPurposeInputOutput(通用输入/输出)简称为GPIO,每个GPIO
    发表于 03-26 14:53 0次下载

    STM32单片机最小系统电路设计

    单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路、复位电路、调试/下载电路,对于STM32还需要启动选择电路。总之,刚开始如果不太懂电路的话,就抄别人的电路,然后自己拼凑。
    的头像 发表于 03-12 14:09 1.7w次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>最小系统电路设计

    TLC5615与单片机通信时是不是用任意IO都可以通信,只要时序和数据是按说明书通信的?

    TLC5615与单片机通信时是不是用任意IO都可以通信,只要时序和数据是按说明书通信的?
    发表于 02-13 07:17

    KT148A语音芯片一线串口和5V单片机MCU相连需要串电阻吗?

    KT148A语音芯片一线串口IO,和5V的单片机或者MCU系统相连,需要串电阻吗? 串多大的电阻合适呢?
    的头像 发表于 01-20 09:40 1078次阅读
    KT148A语音芯片一线串口和5V<b class='flag-5'>单片机</b>MCU相连需要串电阻吗?

    STM32单片机+MPU6050设计一个电子水平仪

    本项目基于STM32F103C8T6单片机设计一款电子水平仪。STM32F103C8T6作为一性能强大的微控制器,具有较高的计算能力和丰富的外设接口,能够满足项目对实时数据处理和显示
    的头像 发表于 01-09 11:14 2620次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>+MPU6050设计一个电子水平仪

    使用stm32f103io来做i2c通讯,直接读取cdce913寄存器的数据每次读取到的数据都是7,为什么?

    使用stm32f103io来做i2c通讯,我已确保的是协议是没有问题的(移植到开发板上做过at24c02的存储,但是我使用在cdce913上就不可以操作,我尝试直接读取cdce913寄存器的数据每次读取到的数据都是7,不知是不是我的
    发表于 12-31 08:05

    请大师指教,51单片机IO通过8050驱动电机,不转?!

    请教各位大神!使用90C516RD单片机的P2.0,并通过三极管SS8050驱动微型直流电机(5V,23mA),IO通过200欧电阻接8050的B极,5V电源接电机(并联二极管),
    发表于 12-18 16:33