操作GPIO的三个步骤:
1.使用RCC开启GPIO的时钟
2.使用GPIO_Init函数初始化GPIO
3.使用输出或者输入函数控制GPIO口
2.初始化GPIO
GPIO_Mode()控制GPIO的八种输入输出模式
GPIO_Mode_AIN = 0x0 (模拟输入 Analog In)
GPIO_Mode_IN_FLOATING = 0x04 (浮空输入 In Floating)
GPIO_Mode_IPD = 0x28 (下拉输入 In Pull Down)
GPIO_Mode_IPU = 0x48 (上拉输入 In Pull Up)
GPIO_Mode_Out_OD = 0x14 (开漏输出 Out Open Drain)
GPIO_Mode_Out_PP = 0x10 (推挽输出 Out Push Pull)
GPIO_Mode_AF_OD = 0x1C (复用开漏 Atl Open Drain)
GPIO_Mode_AF_PP = 0x18 (复用推挽 Atl Push Pull)
STM32 点灯用的是推挽输出,选择 GPIO_Mode_Out_PP = 0x10(推挽输出 Out Push Pull)
GPIO_Pin()是引脚的选择
GPIO_Speed()是选择输出速度 此处可选择50MHz
3.GPIO输入输出函数
四个输出函数:
GPIO_SetBits()把指定端口设置为高电平
GPIO_ResetBits()把指定端口设置为低电平
GPIO_WriteBit()根据第三个参数的值设置指定端口
GPIO_Write()能同时对16个端口进行写入
推挽输出和开漏输出两个模式下高低电平的驱动能力
推挽模式下高低电平都有驱动能力
开漏输出模式下,高电平没有驱动能力,低电平有驱动能力
补充知识
1端口的控制可以利用按位或(|)来控制多个端口