GPIO

 0:说明在加入文件stm32f4xx_gpio.c    ##### How to use this driver #####

  1 打开时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);

  2 如果选择寄存器操作 -〉计算地址,直接对地址进行赋值操作

  3 函数库操作   GPIO_InitTypeDef GPIO_InitStruct;

  4 函数库提供的操作属性和方法    

    属性

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
GPIO_TypeDef* GPIOx
取值范围:GPIOA~K

uint32_t GPIO_Pin; 
GPIO_Pin_0~15  定位对应的引脚

GPIOMode_TypeDef GPIO_Mode;
配置对应引脚模式
GPIO_Mode_IN GPIO_Mode_OUT GPIO_Mode_AF GPIO_Mode_AN


GPIOSpeed_TypeDef GPIO_Speed;
配置对应GPIO口翻转速度
GPIO_Speed_2MHz GPIO_Speed_25MHz
GPIO_Speed_50MHz GPIO_Speed_100MHz

GPIOOType_TypeDef GPIO_OType;
配置对应GPIO 端口输出类型
GPIO_OType_PP 推挽
GPIO_OType_OD 开漏


GPIOPuPd_TypeDef GPIO_PuPd;
配置对应GPIO 端口上拉下拉
GPIO_PuPd_UP 上拉
GPIO_PuPd_DOWN 下拉
GPIO_PuPd_NOPULL 浮空

GPIO_Init(GPIOF, &GPIO_InitStruct);

方法:

GPIO_SetBits(GPIOF, GPIO_Pin_9|GPIO_Pin_10); 设置高电平

GPIO_ResetBits(GPIOF, GPIO_Pin_8); 设置低电平

Bit_RESET |Bit_SET == GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3) 取GPIO端口电平状态是否为低或高

原文地址:https://www.cnblogs.com/baoshulin/p/6194527.html