1、结构图
2、输入
是指外部信号输入到cpu
2.1、浮空输入
- GPIO_Mode_IN_FLOATING
- 不接电阻
- 无输入时电平不确定
- 应用场景
外部按键输入/USART RX引脚。
2.2、上/下拉输入
- 区别在于是否接入上拉或下拉电阻
- 上拉输入 GPIO_Mode_IPU 无输入时为高电平
- 下拉输入 GPIO_Mode_IPD 无输入时为低电平
- 应用场景
外部中断
2.3、模拟输入
- GPIO_Mode_AIN
- 绕过施密特触发器,脚直接接入内部ADC
- 应用场景
ADC模拟输入/低功耗下省电
3、输出
3.1、开漏输出
- GPIO_Mode_Out_OD
- cpu只能输出低电平,想要输出高电平必须接入上拉电阻
- IO口可以由外部电路改变为低电平或不变
即可读IO输入电平变化,实现了I/O端口的双向功能 - 将多路开漏输出的引脚连接到一条线上,通过一个上拉电阻,可形成线与
- 应用场景
适合做电流型的驱动,其吸收电流能力较强
3.2、推挽式输出
- GPIO_Mode_Out_PP
- 输出具有驱动能力
cpu可以输出高低电平 - 应用场景
驱动LED、数码管等电子元器件、输出控制某个信号
3.3、开漏复用功能
- GPIO_Mode_AF_OD
- 与开漏输出特性一致,只不过引脚选择了复用功能
- 应用场景
见片内外设(I2C/SMBus等等)
3.4、推挽式复用功能
- GPIO_Mode_AF_PP
- 应用场景
常见片内外设(USART TX引脚/SPI/PWM输出等等)