GPIO引脚的输入输出模式

目录

一、结构体介绍

二、原理

1、保护二级管 

2、上下拉电阻

3、P-MOS 和 N-MOS 管

4、输出数据寄存器

5、复用功能输出

6、输入数据寄存器

 7、复用输入功能

8、模拟输入输出模式


一、结构体介绍

typedef enum
{ GPIO_Mode_AIN = 0x0,           模拟输入     ADC采集的通道
  GPIO_Mode_IN_FLOATING = 0x04,  浮空输入     电平状态不确定
  GPIO_Mode_IPD = 0x28,          下拉输入     低电平
  GPIO_Mode_IPU = 0x48,          上拉输入     高电平
  GPIO_Mode_Out_OD = 0x14,       开漏输出     低电平
  GPIO_Mode_Out_PP = 0x10,       推挽输出     高电平
  GPIO_Mode_AF_OD = 0x1C,        复用开漏输出 低电平
  GPIO_Mode_AF_PP = 0x18         复用挽输出   高电平
}GPIOMode_TypeDef;

二、原理

1、保护二级管 

  • 保护引脚,防止引脚外部过高或过低的电压输入。以保护芯片不被烧毁。
  • 当引脚电压高于VDD或VDD_FF时,上方二极管导通吸收此高电压。
  • 当引脚电压低于VSS时,下方二级管导通吸收此不正常电压。
  • STM32 引脚是用来做控制,而不是做驱动使用的。

2、上下拉电阻

  • 上下拉电阻都接有一个开关,通过配置开关的状态,可以控制引脚的默认电平。
  • 闭合连接上拉电阻的开关,引脚为高电平。(上拉输入模式)
  • 闭合连接下拉电阻的开关,引脚为低电平。(下拉输入模式
  • 断开连接上下拉电阻的开关,引脚电压不确定(浮空输入模式
  • STM32 上下拉及浮空模式的配置是通过 GPIOx_CRL 和 GPIOx_CRH 寄存器控制的

3、P-MOS 和 N-MOS 管

 

  • GPIO 引脚经过两个保护二极管后就分成两路,上面一路是“输入模式”, 下面一路是“输出模式”。
  • 开漏输出:输入一个低电平,P-MOS管截止、N-MOS导通,对外输出一个低电平(0V)。
  • 推挽输出:输入一个高电平、P-MOS管导通、N-MOS管截止,对外输出高电平(3.3V)。

4、输出数据寄存器

双 MOS 管结构电路的输入信号,是由 GPIO“输出数据寄存器 GPIOx_ODR”提供,通过修改输出数据寄存器的值就可以修改 GPIO 引脚的输出电平。

5、复用功能输出

STM32 的 GPIO 引脚具有第二功能,因此当使用复用功能的时候,也就 是通过其他外设复用功能输出信号与 GPIO 数据寄存器一起连接到双 MOS 管电路 的输入。

6、输入数据寄存器

  • 输入数据寄存器是由 IO 口经过上下拉电阻、施密特触发器引入。
  • 当信号经 过触发器,模拟信号将变为数字信号 0 或 1,然后存储在输入数据寄存器中。
  • 通 过读取输入数据寄存器 GPIOx_IDR 就可以知道 IO 口的电平状态。

 7、复用输入功能

  • 使用GPIO引脚的第二个功能,非默认功能的输入。
  • GPIO 引 脚的信号传输到 STM32 其他片上外设,由该外设读取引脚的状态。

8、模拟输入输出模式

  • 当 GPIO 引脚用于 ADC 采集电压的输入通道时,用作“模拟输入”功能。
  • 此时信号是不经过施密特触发器的,因为经过施密特触发器后信号只有 0、1 两 种状态。
  • ADC 外设要采集到原始的模拟信号,信号源输入必须在施密特触发器之前。
  1. 当 GPIO 引脚用于 DAC 作为模拟电压输出通道时,此时作为“模 拟输出”功能。
  2. DAC 的模拟信号输出就不经过双 MOS 管结构了,模拟信号直接 通过管脚输出。

模拟输入输出模式中,双 MOS 管结构被关闭,施密特触发器停用,上/下拉 也被禁止。

版权声明:本文为CSDN博主「旭日初扬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/RONG_YAO/article/details/120867374

生成海报
点赞 0

旭日初扬

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

4路红外循迹模块使用教程

4路红外循迹模块使用教程 个人原创博客:点击浏览模块详细信息: 工作电压:DC 3.3V~5V 工作电流:尽量选择1A以上电源供电 工作温度:-10℃~50℃ 安装孔

HAL库串口中断

一,配置串口初始化 void MX_USART1_UART_Init(void) {huart1.Instance USART1;huart1.Init.BaudRate 115200;huart1.Init.WordLen

拉绳位移传感器在接线时需要注意哪几点?

拉绳位移传感器在接线时需要注意哪几点? 1、拉绳位移传感器在接线时务必确认在电源关闭的情况下进行接线,接线应采用锡焊工艺,各引脚应焊接牢固,避免虚焊情况发生。焊接各引脚时应严格按照传感器厂