流程

配置时钟(RCC.h内)
  • 打开GPIO时钟(GPIOA / GPIOB)
配置GPIO(GPIO.h内)

一、GPIO模式(GPIO_Mode)

输入

代码

输出

代码

上拉输入

GPIO_Mode_IPU

开漏输出

GPIO_Mode_Out_OD

下拉输入

GPIO_Mode_IPD

推挽输出

GPIO_Mode_Out_PP

浮空输入

GPIO_Mode_IN_FLOATING

开漏复用输出

GPIO_Mode_AF_OD



推挽复用输出

GPIO_Mode_AF_PP



模拟输出

GPIO_Mode_AIN

二、GPIO引脚(GPIO_Pin)

  1. GPIOA:0~15(GPIO_Pin_0 - GPIO_Pin_15)
  2. GPIOB:0~15(GPIO_Pin_0 - GPIO_Pin_15)

三、GPIO翻转速度(GPIO_Speed)

输出速度

代码

10Mhz

GPIO_Speed_10MHz

2Mhz

GPIO_Speed_10MHz

50Mhz

GPIO_Speed_10MHz

知识点

  1. 上拉 / 下拉输入
    如果输入不控制,则默认为高(上拉) / 低(下拉)电平。
  2. 浮空输入
    如果输入不控制,则默认电平不确定。
  3. 开漏输出
    GPIO只能拉低电平,需要拉高的话,外部要有上拉电路。
  4. 推挽输出
    GPIO能拉高拉低电平。
  5. 模拟输出
    将其他输入 / 输出关闭,直通片上外设(ADC等)。
  6. 复用功能
    GPIO的输出(开漏、推挽)不由CPU控制,而是由片上外设控制。