关于STM32常用的8种GPIO输入输出模式的理解

目录

GPIO共有8中输入输出模式,分别是:上拉输入、下拉输入、浮空输入、模拟输入、开漏输出、推挽输出、开漏复用输出、推挽复用输出 ,下面我们详细介绍以下上面的八种输入输出模式。

一、输入模式

(1)上拉输入:GPIO_Mode_IPU

(2)下拉输入:GPIO_Mode_IPD

(3)浮空输入:GPIO_Mode_IN_FLOATING

(4)模拟输入:GPIO_Mode_AIN

二、输出模式

(1)开漏输出:GPIO_Mode_Out_OD

(2)推挽输出:GPIO_Mode_Out_PP

(3)开漏复用输出:GPIO_Mode_AF_OD

(4)推挽复用输出:GPIO_Mode_AF_PP


GPIO共有8中输入输出模式,分别是:上拉输入、下拉输入、浮空输入、模拟输入、开漏输出、推挽输出、开漏复用输出、推挽复用输出 ,下面我详细介绍以下上面的八种输入输出模式。

一、输入模式

(1)上拉输入:GPIO_Mode_IPU

上拉输入模式下,I/O端口的电平信号直接进入输入数据寄存器。I/O端口悬空(在无信号输入)的情况下,输入端的电平保持在高电平;并且在I/O端口输入为低电平的时候,输入端的电平也是低电平。

(2)下拉输入:GPIO_Mode_IPD

下拉输入模式下,I/O端口的电平信号直接进入输入数据寄存器。I/O端口悬空(在无信号输入)的情况下,输入端的电平保持在低电平;并且在I/O端口输入为高电平的时候,输入端的电平也是高电平。

(3)浮空输入:GPIO_Mode_IN_FLOATING

浮空输入模式下,I/O端口的电平信号直接进入输入数据寄存器。也就是说,I/O的电平状态是不确定的,完全由外部输入决定;在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的,通常用于IICUSART等总线设备上。

(4)模拟输入:GPIO_Mode_AIN

模拟输入模式下,I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块等。

二、输出模式

(1)开漏输出:GPIO_Mode_Out_OD

开漏输出只可以输出强低电平,高电平得靠外部电阻拉高

(2)推挽输出:GPIO_Mode_Out_PP

推挽输出可以输出强高、低电平,连接数字器件。

(3)开漏复用输出:GPIO_Mode_AF_OD

开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的,一般用于片内外设功能:TX1,MOSI,MISO,SCK,SS

(4)推挽复用输出:GPIO_Mode_AF_PP

推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,而是利用片上外设模块的复用功能输出来决定的,常见采用推挽输出模式的一般为片内外设功能IICSCLSDL

你可能感兴趣的:(项目开发经验:STM32,stm32,单片机,嵌入式硬件)