GPIO基本结构
GPIO的模式
输入模式:
输入浮空: GPIO_Mode_IN_FLOATING
输入上拉: GPIO_Mode_IPU
输入下拉 :GPIO_Mode_IPD
模拟输入 :GPIO_Mode_AIN
输出模式 :开漏输出: GPIO_Mode_Out_OD
推挽输出 :GPIO_Mode_Out_PP
复用功能推挽: GPIO_Mode_AF_PP
复用功能开漏 :GPIO_Mode_AF_OD
GPIO的模式图形理解
1.输入浮空:
2.输入上拉:
3.输入下拉:
4.模拟输入:
5.开漏输出:
6.开漏复用输出:
7.推挽输出:
8.推挽复用输出:
GPIO库函数介绍
初始化函数
函数名:GPIO_Init函数原型: void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)功能描述:初始化一个或者多个IO口(同一组)的工作方式和速度。GPIO_InitTypeDef GPIO_Config; GPIO_Config.GPIO_Pin =GPIO_Pin_5;//LED0->PB5端口配置 GPIO_Config.GPIO_Speed = GPIO_Speed_50MHz;//配置IO口速度为50MHz GPIO_Config.GPIO_Mode = GPIO_Mode_Out_PP;//配置为推挽输出 GPIO_Init(GPIOB, &GPIO_Config);//初始化GPIOB.5
设置输出电平函数
函数名:GPIO_SetBits
函数原型:void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)
功能描述:设置某个IO口输出位高电平
GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);//将GPIOA10,GPIOA15设置为高电平
函数名:GPIO_ResetBits
函数原型:void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)
功能描述:设置某个IO口输出位低电平
GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);//将GPIOA10,GPIOA15设置为低电平