目录
GPIO共有8中输入输出模式,分别是:上拉输入、下拉输入、浮空输入、模拟输入、开漏输出、推挽输出、开漏复用输出、推挽复用输出 ,下面我们详细介绍以下上面的八种输入输出模式。
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的电平状态是不确定的,完全由外部输入决定;在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的,通常用于IIC
、USART
等总线设备上。
(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直接写输出数据寄存器,而是利用片上外设模块的复用功能输出来决定的,常见采用推挽输出模式的一般为片内外设功能IIC
的SCL
、SDL
。