记录一下stm32 IO口的八种输入输出模式的学习

首先,可以看见stm32的输入输出模式有以上8种
先从简单的开始说吧

上拉输入和下拉输入:

看图:

由上图可见,当IO口设置为上拉输入的时候,IO口内部的上拉电阻就被接上了,从字面意思可以理解,上拉嘛,电平被上拉了,所以在没有输入的情况下,都是为高电平的状态,而当外部电路输入低电平的时候,才被拉低,经过触发器,再到寄存器,最后到CPU。

而下拉输入和上拉输入可以说就是在内部选择接上拉还是接下拉而已,当选择下拉输入的时候,上拉电阻的连接就会被断开,然后下拉电阻的连接就会被连上,此刻IO口的状态就一直处于低电平。

模拟输入:

应用在ADC模拟输入,或者低功耗下可以省电,这个也是可以直接从字面意思上理解,就不多做记录。

浮空输入:


浮空输入,浮空嘛,在空中,碰不到顶,也不着地,所以不接上拉电阻,也不接下拉电阻,就在中间,那IO到底是0还是1呢,高电平还是低电平呢,谁都不确定,全看这个IO连接的外部电路给的是0还是1,高电平还是低电平,然后再给到触发器,再到寄存器,再到CPU;目前我用过一次就是在写关于18b20的程序里面,因为单线的,所以在时序上比较严格,在初始化18b20的时候,其中有一个步骤是需要释放总线的,查了很久这个释放总线是什么意思,最后我就是在释放总线这一步把与总线相连的IO口(即总线),设置为浮空输入,释放了总线以后,CPU对这个口输出0输出1就没用了,总线到底是0还是1就不确定了,就全看外部电路了,不过在输入模式下,还是可以通过CPU读取到的,希望这个栗子可以帮助理解。

开漏输出模式:


因为模电学得不好,所以也就只能大概的讲一下方便自己理解的方法了,等日后模电学好以后一定展开讲讲。

在开漏输出模式下,就可以理解为IO口内部就是一个这样的三极管,如果没有接上拉电阻的话,输出1(高电平),只能是高阻态,还是只会输出低电平,当然在正常输出低电平的时候,三极管截至,肯定也是没有输出的,只有接上了上拉电阻,就像三极管的共射极放大电路,在集电极上提供一个电压,接上上拉电阻,这个时候IO口再输出一个高电平,才能使这个三极管导通,放大电路开始工作,这样才能输出1,才有电流驱动外部电路,当然啦,开漏输出也确实一般都用在电流驱动。
另外,IO口在开漏输出模式下,也是可以读取IO口的状态的,看上面图4567的路径就可以明白了。

推挽输出:



在推挽模式下,IO口内部的电路就可以理解为上面这个图,两个二极管,当CPU让IO口输出0的时候,上面的NPN三极管就截止,下面的PNP三极管导通,输出0出去给外部电路,当CPU让IO口输出1的时候,上面的NPN三极管导通,下面的PNP三极管截止,输出1给外部电路。两个三极管轮流工作,一推一拉的,也叫推拉式输出,既可以提高电路的负载能力,又可以提高开关速度,具体使为什么,等我学好模电以后我再回来解释。

最后,复用推挽和复用开漏输出,也就是在这个IO口作为第二功能的IO口复用的时候才设置的模式,例如串口,就以stm32f103c8t6来讲,PA9,PA10既是普通的IO口,也是串口1的RX和TX口,作串口的发送和接收口就是它们的复用功能,这个时候呢,就可以设置为复用推挽或者复用开漏了。

完结,撒花!

stm32 IO口的八种输入输出模式相关推荐

  1. STM32 IO口的八种模式

    [冉冰的成长日记007] STM32 的 IO 口可以由软件配置成如下 8 种模式: 1.输入浮空 2.输入上拉 3.输入下拉 4.模拟输入 5.开漏输出 6.推挽输出 7.推挽式复用功能 8.开漏复 ...

  2. STM32 IO口的八种模式使用小结

    /** * @brief Configuration Mode enumeration */typedef enum { GPIO_Mode_AIN = 0x0, //模拟输入GPIO_Mode_IN ...

  3. STM32:GPIO的8种输入输出模式深入详解

    STM32的8种GPIO输入输出模式深入详解 输入模式 -输入浮空(GPIO_Mode_IN_FLOATING) -输入上拉(GPIO_Mode_IPU) -输入下拉(GPIO_Mode_IPD) - ...

  4. floating输入 高阻输入_STM32 GPIO八种输入输出模式

    STM32 GPIO 1. GPIO_MODE_AIN 模拟输入 输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量. 2. GPIO_MODE_IN_FLOATIN ...

  5. STM32 IO口的8中配置方式解读(推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟)

    转自:http://blog.csdn.net/u010592722/article/details/45746079 STM32  IO口的8中配置方式: (1)GPIO_Mode_AIN 模拟输入 ...

  6. STM32:GPIO四种输入输出模式。

    STM32 四种输入输出模式. STM32的四种输入方式: 1.上拉输入(GPIO_Mode_IPU) 上拉输入就是信号进入芯片后加了一个上拉电阻,再经过施密特触发器转换成0.1信号,读取此时的引脚电 ...

  7. GPIO口的八种工作状态

    一直对GPIO的工作状态不是很熟悉,导致在设置IO状态时,经常会设置成推挽上拉,或者推挽下拉,开漏上拉等问题,虽然看起来没有影响MCU工作,但感觉这是一种无知的表现. 现在总结下GPIO口的八种工作状 ...

  8. 51单片机有几个通用io口_51单片机IO口的四种使用方法

    原标题:51单片机IO口的四种使用方法 传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管外扩驱动电路. 灌电流方式 LED正极接VCC,负极接IO口 ...

  9. STM32 IO口输入输出模式的简洁见解

    输入模式 (1) 浮空输入:没有外界电压输入时,电压不确定. (2) 上拉输入:没有外界电压输入时,IO口经过一个上拉电阻接高电压Vcc,再经过施密特触发器转换成1信号,此时为高电平.(无输入,高电平 ...

最新文章

  1. leetcode--无重复字符的最长子串--python
  2. Android之EditText的各种使用
  3. DS博客作业01--日期抽象数据类型设计与实现
  4. OpenCv——merge()函数数据合并
  5. android Json处理换行符
  6. php idwork,idwork.php
  7. pywin32 获取窗口句柄_Excel VBA | 这个窗口居然关不掉
  8. linux 内核设备管理模型sysfs(进阶篇)
  9. 发生一个未处理的异常 脚本调试 错误号2912
  10. Spring mvc 组件
  11. .Net 下信号量(Semaphore)的一种实现
  12. loadlin.exe
  13. 提升企业网站流量转化率的核心是什么
  14. win10 完全卸载 MYsql8.0
  15. 反编译获取任何微信小程序源码——看这篇就够了
  16. 联通光猫型号: 吉比特GPON/4+1+WiFi2.5
  17. HTML居中对齐与垂直居中
  18. 77页智慧应急解决方案 2022
  19. 五个小时学会Asp连接access添加,删除,修改
  20. pp影视播放器官方版

热门文章

  1. Buuctf [网鼎杯 2020 青龙组]jocker 题解
  2. 开发板与虚拟机组网、uboot源码makefile分析、uboot安全启动与非安全启动方式、uboot源码配置与编译流程、制作TF启动盘
  3. 计算机毕业设计(附源码)python养生知识平台
  4. tomcat依赖导入步骤_图说tomcat(三)导入tomcat源码到idea
  5. 设置winrar解压war文件
  6. 数据库的应用(税务)
  7. 如何挖掘360下拉词,怎么删除360下拉负面词
  8. MS CASTEP学习(5)
  9. 二十五【补充】.python字符串反序切片
  10. Android Sokect 一对多~ 服务端对多个客户端(个人笔记)