STM32端口输入输出模式配置

STM32的IO口模式配置

根据数据手册提供的信息,stm32的io口一共有八种模式,他们分别是:

四种输入模式

上拉输入:通过内部的上拉电阻将一个不确定的信号通过一个电阻拉到高电平。

下拉输入:把电压拉到GND。与上拉原理相似。

浮空输入:引脚内部什么都不接,处于浮空模式下,电平状态是不确定的。外部信号输入什么,IO口就是什么状态。

模拟输入:接收到的是连续的模拟信号,一般用于AD转换。

四种输出模式

推挽输出:可以输出高低电平,连接数字器件。在stm32中推挽电路由两个MOS管组成:输出高电平时P-MOS管导通,引脚联通VDD(3.3v)。输出低电平时N-MOS导通,引脚联通GND。**该方式既提高电路的负载能力,又提高开关速度。 **

开漏输出:无法直接输出高电平,要在外部连接上拉电阻才行,输出的电压由上拉电阻连接的电源决定。适合做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。开漏输出还有一个特性:线与。即很多开漏模式引脚连接在一起,只有当所有引脚都输出1时,才能够被上拉电阻拉到高电平。若有一个引脚为低电平,则所有引脚相当于接地。

复用推挽输出:简单来说就是给内部外设使用的推挽输出模式,

复用开漏输出:简单来说就是给内部外设使用的开漏输出模式

在STM32中,根据不同的使用场景,选用不同的IO模式:

GPIO_Mode_AIN: 模拟输入,一般用作模数转换

GPIO_Mode_IN_FLOATING: 浮空输入,常用在key识别上

**GPIO_Mode_IPD: **下拉输入— IO内部下拉电阻输入

GPIO_Mode_IPU:上拉输入— IO内部上拉电阻输入

GPIO_Mode_Out_OD: 开漏输出—可以外接上拉电阻输出较高的电平,也能够通过读取IO的电平变化实现C51的IO双向功能。

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

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

GPIO_Mode_AF_PP: 复用推挽输出—片内外设功能(I2C的SCL,SDA)。

根据下面的IO结构图可能更有利于理解:

在这里插入图片描述

欢迎一起学习交流

(stm32 USART串口应用)

http://www.makeru.com.cn/live/1392_1164.html?s=45051

从单片机到嵌入式linux我们需要做什么

http://www.makeru.com.cn/live/5413_1994.html?s=45051

中断和异常处理机制

http://www.makeru.com.cn/live/4034_2092.html?s=45051

(stm32直流电机驱动)

http://www.makeru.com.cn/live/1392_1218.html?s=45051

嵌入式Linux C语言数据结构及经典算法编程

http://www.makeru.com.cn/course/details/5084?s=45051

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值