GPIO功能,从点亮一颗LED开始。
1.GPIO输出模式:将PB4引脚设置为推挽输出。
GPIOB_SetBits(GPIO_Pin_4); //设置默认电平,开启输出后输出高电平 // GPIOB_ResetBits(GPIO_Pin_4); //设置默认电平,开启输出后输出低电平 GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_5mA); //设置为推挽输出模式,有5mA和20mA两种配置
2.GPIO输入模式:将PB4引脚设置为上拉输入或下拉输入或浮空输入。
GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_PU); //设置为上拉输入模式,有上拉输入/下拉输入/浮空输入三种配置 GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_PD); //设置为下拉输入模式 GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_Floating); //设置为浮空输入模式
3.GPIO中断(支持中断的引脚PA0-15/PB0-15,若无PB8和PB9可直接使用PB22和PB23,若有PB8和PB9,则需要映射后使用PB22和PB23)
GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_PU); GPIOB_ITModeCfg(GPIO_Pin_4, GPIO_ITMode_FallEdge); // 下降沿触发 PFIC_EnableIRQ(GPIO_B_IRQn);
__INTERRUPT __HIGH_CODE void GPIOB_IRQHandler(void) { GPIOB_ClearITFlagBit(GPIO_Pin_4); }