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端口电平状态是否为低或高