STM32 --- 【GPIO的8种工作模式图解】


一.寄存器参数、标准库的关系

1: 寄存器中, 输入模式有3种, 输出模式有4种, 如下图:

STM32 --- 【GPIO的8种工作模式图解】_第1张图片

2: 标准库中, 输入模式4种, 输出模式4种: 

STM32 --- 【GPIO的8种工作模式图解】_第2张图片

3: 小结:

为了使用方便, 标准库把寄存器上的3种输入模式, 封装成4种输入模式了, 但本质上是一样的.


二. GPIO标准库---8种模式细解

1:模拟输入   GPIO_Mode_AIN

STM32 --- 【GPIO的8种工作模式图解】_第3张图片

  • 路线:1信号从引脚进入, 2直接进入片上外设ADC中;
  • 操作1:必须使用ADC进行采集,不能使用IDR读取判断;
  • 无效操作1:ODR-数据输出寄存器,断开无效,使上下拉电阻不能影响电平状态;
  • 无效操作2:IDR-数据读取寄存器,断开无效,常为0,无法读取准确引脚电平状态;
  •  

2:浮空输入   GPIO_Mode_IN_FLOATING

STM32 --- 【GPIO的8种工作模式图解】_第4张图片

  • 路线:1信号从引脚进入, 2 经施密特触发器转换为0、1,3存入输入数据寄存器随时可读取;
  • 操作1:IDR-可读取数据;
  • 无效操作1:ODR-数据输出寄存器,断开无效,使上、下拉电阻无法影响电平状态;
  •  

3:下拉输入   GPIO_Mode_IPD

STM32 --- 【GPIO的8种工作模式图解】_第5张图片

 

  • 路线:1信号从引脚进入,  2被下拉电阻钳位,  3施密特触发器转换为0、1,4存至输入数据寄存器随时读取;
  • 操作1:ODR-置1,开启弱上拉,引脚悬空时, IDR为1; 非悬空时, 由外部电路决定;
  • 操作2:ODR-置0,开启弱下拉,引脚悬空时, IDR为0; 非悬空时, 由外部电路决定;
  • 操作3:IDR-可实时读取引脚电平(外部电平);
  • 无效:NULL

 

4: 上拉输入   GPIO_Mode_IPU

STM32 --- 【GPIO的8种工作模式图解】_第6张图片

  • 路线:1信号从引脚进入,  2被下拉电阻钳位,  3施密特触发器转换为0、1,4存至输入数据寄存器随时读取;
  • 操作1:ODR-置1,开启弱上拉,引脚悬空时, IDR为1; 非悬空时, 由外部电路决定;
  • 操作2:ODR-置0,开启弱下拉,引脚悬空时, IDR为0; 非悬空时, 由外部电路决定;
  • 操作3:IDR-可实时读取引脚电平(外部电平);
  • 无效:NULL
  •  

5:开漏输出   GPIO_Mode_Out_OD

STM32 --- 【GPIO的8种工作模式图解】_第7张图片

  • 路线:1输出控制信号,  2控制MOS管开合,  3最终信号输出;
  • 操作1:ODR-置1,不能开启弱上拉(重要),引脚电平完全由外部电路决定;
  • 操作2:ODR-置0,引脚钳死至低电平,并使外部整个开漏线路均为0;
  • 操作3:IDR-可实时读取引脚电平(外部电平);
  • 无效操作1:引脚为悬空时,ODR-置1,并不能使引脚置1, IDR亦为0;
  •  

6:推挽输出   GPIO_Mode_Out_PP

STM32 --- 【GPIO的8种工作模式图解】_第8张图片

  • 路线:1输出控制信号,  2控制MOS管开合,  3最终信号输出;
  • 操作1:ODR-置1,开启弱上拉,引脚悬空时, IDR为1; 非悬空时, 由外部电路决定;
  • 操作2:ODR-置0,开启弱下拉,引脚悬空时, IDR为0; 非悬空时, 由外部电路决定;
  • 操作3:IDR-可实时读取引脚电平(外部电平);
  • 无效操作1:NULL

 

7:复用开漏输出   GPIO_Mode_AF_OD

STM32 --- 【GPIO的8种工作模式图解】_第9张图片

  • 路线:1由复用功能输出信号,  2控制MOS管开合,  3最终信号输出;
  • 操作1:IDR-可实时读取引脚电平(外部电平);
  • 无效操作1:ODR断开;引脚悬空时,ODR置0、1, 都不能改变引脚电平;

 

8:复用推挽输出  GPIO_Mode_AF_PP

STM32 --- 【GPIO的8种工作模式图解】_第10张图片

  • 路线:1由复用功能输出信号,  2控制MOS管开合,  3最终信号输出;
  • 操作1:IDR-可实时读取引脚电平(外部电平);
  • 无效操作1:ODR断开;引脚悬空时,ODR置0、1, 都不能改变引脚电平;

你可能感兴趣的:(STM32,GPIO,8种工作模式,标准库GPIO,STM32,GPIO)