stm32的GPIO的8种模式

GPIO通用的输入输出口,可配置成8种输入输出模式

引脚电平:0-3.3V,部分引脚可5V(FT)

输出模式:可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等

输入模式:可读取端口的高低电平或电压,用去读取按键输入、外界模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

8种模式

GPIO输入输出模式
模式性质特征
浮空输入数字输入读取引脚电平,若引脚悬空,电平不确定
上拉输入数字输入..内部连接上拉电阻,悬空时默认高电平
下拉输入数字输入..内部连接下拉电阻,悬空时默认低电平
模拟输入模拟输入GPIO无效,引脚直接接入内部ADC
推挽输出数字输出可输出引脚电平,高电平为高阻态,低电平接VSS
开漏输出数字输出可输出引脚电平,高电平接vdd,低电平接VSS
复用推挽输出数字输出由片上外设控制,高电平为高阻态,低电平接VSS
复用开漏输出数字输出由片上外设控制,高电平接VDD,低电平接VSS

8种模式解读:

输入模式

浮空输入是上拉电阻和下拉电阻都接入,所以悬空时状态不确定;

上拉输入是上拉电阻接入、下拉电阻不接入,所以悬空时状态默认为高;

下拉输入是下拉电阻接入,上拉电阻不接入,所以悬空时状态默认为低;

模拟输入是上下拉电阻都不接入,输入模拟量,外设ADC起作用;

左侧接入的是施密特触发器;

输出模式

输出右侧是一个PMOS和一个NMOS;

推挽输出是PMOS和NMOS都起作用,当输出为1是PMOS导通,当输出为0时NOS导通;

开漏输出模式是PMOS不作用入,只有NMOS作用;

复用模式与上述原理一致,只是由片上外设提供信号;

速率一般设为50MHz;

举例

  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin = 引脚;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//输出
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(引脚, &GPIO_InitStructure);

注:部分来自b站“江协科技”课程内容,学习愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值