1,外部中断
2,外部中断标志位
当产生中断后,可以通过中断标志位来判断中断来自哪里.
一个中断标志位有多个管脚,我们可以可以只设置一组中的一个管脚为中断,这样就固定中断源了,如果想启用同一组中的多个中断管脚,这样在中断函数总读取GPIO的电平来判断是那个管脚就行,我不断地告诉自己不要抬杠,怎么按键都不会同时触发的.
3,CUBE设置
在NVIC里有所有的中断,也可以配置
在NVIC里面还没有设置生成代码,初始化函数排序
设置好以后重新生成的GPIO代码会添加EXTI0的中断初始化程序(外部中断隶属于GPIO功能)
找到外部中断处理函数
4,这样就可以在程序里创建同名函数调用了,这个中断回调函数要注意不能放在main循环或者while循环里,要在外部.
有个地方要注意
HAL库的延时函数要屏蔽调,因为HAL库的延时函数只能被主函数和子函数调用,不能在任何中断中调用.