1、模式介绍
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口使用。

2、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。

3、引脚配置方式

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

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

  • 2、作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。

  • 3、作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。

  • 4、作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。

  • 5、作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。

STM32八种IO口模式相关推荐

  1. STM32八种IO口模式区别,以及上拉输入、下拉输入、浮空输入、模拟输入的区别

    最近在看数据手册的时候,发现在 Cortex-M3 里,对于 GPIO 的配置种类有 8 种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输 ...

  2. GPIO的工作方式/STM32八种IO口模式区别

    GPIO基本结构 GPIO工作方式 4种输入模式: 输入浮空 输入上拉 输入下拉 模拟输入 4种输出模式: 开漏输出 开漏复用功能 推挽式输出 推挽式复用功能 最近在看数据手册的时候,发现在 Cort ...

  3. stm32读取io口高低电平计数_最全的STM32八种IO口模式讲解(已经标注,新手必备)

    以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候,发现在 Cortex-M3 里,对于 GPIO 的配置种类有 8 种之多: ( 1 ) GPIO_Mode_AIN 模拟输入 ...

  4. 引脚悬空是什么电平_STM32单片机必须掌握的八种IO口模式和引脚配置方式

    八种IO口模式STM32有八种IO口模式,分别是:模拟输入.浮空输入.上拉输入.下拉输入.开漏输出.推挽输出.复用开漏输出和复用推挽输出.1.模拟输入GPIO_Mode_AIN模拟输入,即关闭施密特触 ...

  5. 【stm32】史上最详细的8种IO口模式

    8种IO口模式 4种输入模式 4种输出模式 (带上拉或者下拉) 浮空输入 推挽输出 上拉输入 复用式推挽输出 下拉输入 开漏输出 模拟输入 复用式开漏输出 1.浮空输入 浮空输入模式下,I/O端口的电 ...

  6. 8种IO口模式的配置(复制粘贴的,供自己学习的)

    以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候,发现在 Cortex-M3 里,对于 GPIO 的配置种类有 8 种之多: (1) GPIO_Mode_AIN 模拟输入 (2 ...

  7. STM32+MAX6675利用io口模拟SPI获取实时温度数据程序及代码

    STM32+MAX6675利用io口模拟SPI获取实时温度数据程序及代码 本文采用的芯片为STM32F103RCT6 温度芯片为MAX6675 因为芯片的spi口只有3个,有部分需要外接W25Q128 ...

  8. STM32的8种IO口的模式

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

  9. 细谈八种架构涉及模式及其优缺点概述

    一.什么是架构 我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果,哈哈,我理解,架构就是骨架,如下图所示: 人类的身体的支撑是主要由骨架来承担的,然后是其上面的肌肉.神经.皮肤 ...

最新文章

  1. 宁彦吉:如何进行作业的评审?
  2. .dat数据文件怎么打开_U盘坏了怎么恢复数据?恢复数据的方法
  3. 七年程序员生涯,我学到的重要六课
  4. 流水灯c语言程序延时失败,用c8051f340做控制流水灯实验,程序会卡死在延时函数中 ,只要在那加延时函数程序就只能跑到那,代码如下...
  5. 白鹭引擎增加点击事件实例
  6. Android应用开发提高篇(2)-----文本朗读TTS(TextToSpeech)
  7. jquery mysql实现加入购物车_使用jQuery实现购物车结算功能
  8. Git学习之路(6)- 分支操作
  9. MATLAB 与Modelsim之间对测试系统的联合仿真
  10. 15个很有用的 HTML5 基础教程和速查手册
  11. STM32cube配置编码器和电机
  12. 十折交叉验证python_k折交叉验证(matlab和python程序实现)
  13. SQLSERVER去重
  14. NLP入门从入门到实战 实体命名识别 +中文预处理之繁简体转换及获取拼音
  15. 焦距相关的基本概念及焦距对摄影效果的影响
  16. cad剖切线的快捷键_Auto CAD2017剖切符号快捷键是什么呢?
  17. 打马赛克就安全了吗?AI消除马赛克,GitHub霸榜
  18. kali安装flash插件
  19. 如何调用EasyCVR平台的登录、播放地址、录像回看接口?
  20. Fragmentation 源码分析

热门文章

  1. 客户端app支付宝登录接口
  2. JAVA 生成PDF (thymeleaf,html,itext,pdf)
  3. stm32mini看门狗——HAL库
  4. 解决浏览器错误STATUS_INVALID_IMAGE_HASH的问题
  5. Js的冒泡排序和选择排序
  6. 物理引擎学习08-AABB树
  7. java 获取秒数_Java获取精确到秒的时间戳(转)
  8. 网站与APP抓包分析2 分析方法案例
  9. IOS 设备备份文件详解 (二)
  10. 查看word文档的修改痕迹