概述
GPIO全称General Purpose Input and Output,有时简称为IO口。GPIO口的功能模式分为输入,输出和输入输出双向三类,本篇简述STM32HAL库GPIO的输入模式和输出模式。
汇总
输入模式
浮空输入 GPIO_Mode_IN_FLOATING
上拉输入 GPIO_Mode_IPU
下拉输入 GPIO_Mode_IPD
模拟输入 GPIO_Mode_AIN
输出模式
开漏输出 GPIO_Mode_Out_OD
复用开漏输出 GPIO_Mode_AF_OD
推挽输出 GPIO_Mode_Out_PP
复用推挽输出 GPIO_Mode_AF_PP
最大输出速度
低速 2MHZ
中速 25MHZ
快速 50MHZ
高速 100MHZ
输入模式
浮空输入:逻辑器件与引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。
上拉输入:上拉就是将不确定的信号通过一个电阻嵌位在高电平。电阻同时起到限流的作用。
下拉输入:下拉就是将不确定的信号通过一个电阻嵌位在低电平。电阻同时起到限流的作用。
模拟输入:输入0,1的二进制数字信号,通过数模转换,转换成模拟信号。
输出模式
开漏输出:IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。
复用开漏输出:
推挽输出:IO输出0-接GND, IO输出1 -接VCC。可以输出强高低电平,连接外部数字器件。
复用推挽输出:
CubeMX设置