最近在调STM32的外部中断,使用PB5,6,7配置为下降沿触发中断。当一执行到图中箭头所指的语句时,就会进入EXTI9_5_IRQHandler中断函数。这点没搞懂。
同时在调试的时候发现 有2个现象:
1,在初始化了系统时钟和GPIO时钟后,接着配置EXTI5,6,7的NVIC,然后是EXTI5,6,7的GPIO配置和EXITI配置,当一执行到图中箭头所指的语句时,就会进入EXTI9_5_IRQHandler中断函数。在中断函数中判断出是EXTI5标志置位。
2,在初始化了系统时钟和GPIO时钟后,接着配置EXTI5,6,7,最后配置EXTI5,6,7的NVIC;在配置EXTI5,6,7时,也是一执行到图中箭头所指的语句时,就会进入EXTI9_5_IRQHandler中断函数。在中断函数中都没读出EXTI,5,6,7置位。
调试时,观察EXTI的寄存器,当一运行到图中箭头所指的语句时,相应的中断挂起标志就置1了。我彻底懵了,也无语了,不应该是这样的啊,求大神们指点啊....
|