GPIO框图
注:F1在输出模式时禁止使用内部上下拉电阻。
GPIO的8种工作模式
EXTI框图
STD库
1:GPIO的初始化结构体
2:GPIO的8种工作模式
3:EXTI代码
注:要使用GPI0 EXTILineConfig(GPI0 PortSourceGPIOB, GPI0 Pinsource14)将GPIO与EXTI关联起来。
4:EXTI中断函数
HAL库
1:GPIO的初始化结构体
2:GPIO的工作模式
注:HAL库将上拉,下拉,浮空输入3种模式统一为GPIO_MODE_INPUT,通过结构体成员PULL来选择是那种输入模式。
3:EXTI代码
注:STD库是通过对NVIC结构体的初始化赋值来配置NVIC,
HAL库是通过HAL NVIC SetPriority(EXTI4 IRQn,0,0);HAL NVIC EnableIRQ(EXTI4 IRQn)两个函数来配置NVIC
4:EXTI中断函数
注:HAL库在中断函数中,通过调用HAL库的中断函数HAL GPIO EXTI IRQHandler(GPIO PIN_3)来完成,在HAL GPIO EXTI IRQHandler(GPIO PIN_3)函数中会自动清除中断标志位并跳转到void HAL GPIO EXTI Callback(uint16 t GPI0 Pin)函数中,我们只需在回调函数中配置中断要处理的事情即可。