GPIO的8种工作模式

GPIO初始化结构体的时候,必须要配置合适的工作模式,这样才能使得IO口发挥应有的作用。工作模式大体上共分为输入输出两类,共8种,下面将介绍这8种工作模式。

GPIO工作模式

输入模式

GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入

如上输入模式共有4种,主要是读出IO口的相关数据,比如按钮外设就需要读出高低电平来判断它的按下与松开。它们的数据通过TTL施密特触发器将模拟信号转化为数字信号输入在数据寄存器中,或者是直接由模拟信号输入到片上外设。

施密特触发器可作为波形整形电路,能将模拟信号波形整形为数字电路能够处理的方波波形,而且由于施密特触发器具有滞回特性,所以可用于抗干扰,其应用包括在开回路配置中用于抗扰,以及在闭回路正回授/负回授配置中用于实现多谐振荡器。

  • 模拟输入:主要用于ADC外设的输入
  • 上拉输入:接入上拉电阻输入数字信号1
  • 下拉输入:接入下拉电阻输入数字信号0
  • 浮空输入:什么电阻都不接,由施密特触发器输入,输入阻抗大,为一个不确定的值,通常作为IIC,USART等通信协议的接收端。

值得注意的一点是当GPIO被设置为输入模式的时候,就不需要配置其输出速度了,当然GPIO_Init()也会自动的忽略这一点的。

输出模式

GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_AF_PP 复用推挽输出
GPIO_Mode_AF_OD 复用开漏输出

  • 推挽输出:线路经过一个类似CMOS反相器的的电路单元,输出高电平PMOS导通,低电平CMOS导通,要输出大电流一般采用这种输出方式,比如说是LED灯的点亮。
  • 开漏输出:无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动。

开漏输出的这一特性另一个好处在于可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现电流倒灌,损坏器件。推挽输出的最大特点是可以真正的输出高电平和低电平,在两种电平下都具有驱动能力。

gpio的8种工作模式_Stm32之GPIO工作模式简介相关推荐

  1. stm32芯片休眠模式_stm32单片机进入休眠模式后无法下载程序等问题的解决

    利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的.往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去.通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点 ...

  2. 休眠后gpio状态_STM32中GPIO的8种工作模式总结

    STM32 中 GPIO 的 8 种工作模式总结 一.推挽输出:可以输出高.低电平,连接数字器件 ; 推挽结构一般是指 两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一 个截止.高低 ...

  3. STM32F3 GPIO的八种模式及工作原理

    一.GPIO简介 GPIO(英语:General-purpose input/output),通用型之输入输出的简称,简单来说就是STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来 ...

  4. GPIO的八种工作模式

    一.GPIO的八种工作模式 1.上拉输入:IO口在无输入的情况下,保持高电平. 2.下拉输入:IO口在无输入的情况下,保持低电平. 3.浮空输入:浮空输入状态下,IO的电平状态是不确定的,完全由外部输 ...

  5. STM32-深入理解GPIO的8种工作模式

    文章目录 一.GPIO中四个关键器件介绍 1.1.保护二极管 1.2.P-MOS管和N-MOS管 1.3.上拉电阻和下拉电阻 1.4.TTL肖特基触发器 二.GPIO的8种工作模式 2.1.模拟输入 ...

  6. STM32中GPIO口八种工作模式简介及LED灯测试

    STM32中GPIO口八种工作模式简介及LED灯测试 一.GPIO口八种工作模式 二. LED灯测试 一.GPIO口八种工作模式 在STM32单片机里对于GPIO的配置种类有8种之多,包括4种输入模式 ...

  7. gpio的8种工作模式_【超低功耗系列一】STM32L 低功耗产品和模式

    大家知道意法半导体STM32产品中有四个系列,其中一个很重要的系列是超低功耗系列,今天我们就来聊一下STM32超低功耗系列产品. 意法半导体的超低功耗系列有非常优秀的低功耗表现,在EEMBC(嵌入式微 ...

  8. GPIO的8种工作模式——基于STM32F767IGT6

    对于STM32来说,GPIO有四种输入模式和四种输出模式,我们可以通过配置IO端口的相关寄存器来实现特定的效果: ps:M3系列只有输入模式有上/下拉,而M4/7系列输入/输出模式均有上/拉电阻: 浮 ...

  9. STM8中GPIO的12种模式

    STM8中GPIO的12种模式 (1)GPIO_Mode_In_FL_No_IT:浮空输入无中断 (2)GPIO_Mode_In_PU_No_IT:上拉输入无中断 (3)GPIO_Mode_In_FL ...

最新文章

  1. php管理员登录文件,使用PHP文件重置管理员密码(Drupal 8)
  2. matlab GUI 初学
  3. 百练OJ:2388:寻找中位数
  4. 第三次学JAVA再学不好就吃翔(part31)--super关键字
  5. [小技巧] ArrayList与LinkedList对比与常见方法
  6. Android数据存储——SQLite数据库(模板)
  7. 中芯国际最终超额募资523.2亿元,14nm工艺打“鸡血”了
  8. Tensorflow(r1.4)API--tf.truncated_normal()
  9. Grails Quartz插件,定时调度任务
  10. 热血仙境服务器修改,热血仙境安卓首发服务器爆红 - 07073手机游戏
  11. Windows Git 多用户多仓库配置
  12. CBS基于冲突的搜索算法流程和核心
  13. 36个非常有用的电脑知识?
  14. 批处理:批量修改文件名称
  15. CTF MISC系列————8、Misc1-纵横四海
  16. 永别了,内涵段子APP及公众号被永久关停!!!!
  17. UVA 10881 Piotr‘s Ants
  18. 色彩理论之彩虹CMYK值
  19. 人机交互-9-人机交互基础知识
  20. linux怎样通过手机上网,Linux系统通过手机GPRS上网的设置教程

热门文章

  1. 收藏一个在线思维导图的制作网站
  2. 如何给 mongodb 设置密码
  3. Python中正则表达式讲解
  4. Bootstrap学习笔记(四)-----Bootstrap每天必学之表单
  5. 夺命雷公狗---微信开发39----微信语言识别接口1
  6. Thread.CurrentPrincipal HttpContext.Current.User
  7. UVA 567 - Risk
  8. Asp.net如何截屏
  9. vue 集成html5 plus - 懒懒de尐彪 - 博客园
  10. vue-cli,webpack安装