求助:STM32有16个外部中断/事件线,但是为什么中断向量表中只有5个外部中断?

各位高手: 我初学STM32有个问题,希望大家能帮忙解答一下。 STM32有16个外部中断/事件线,每条中断线上连接PAx - PGx 的IO口。但是为什么中断向量表中只有5个外部中断(EXTI0-EXTI4)?如果在EXTI_IMR寄存器中使能其它外部中断,那MCU是如何响应的?该如何编写中断服务程序?

它的中断配置是PA0、PB0、PC0......连到EXTI0,PA1、PB1等连到EXTI1,以此类推。同一时刻EXTx只能响应同一组内一个IO口的事件 可以分时复用
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-07
编写 void EXTI9_5_IRQHandler (void) 和 void EXTI15_10_IRQHandler(void)对EXTI5-EXTI15中断处理,在函数里面通过查询挂起寄存器(EXTI->PR或FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line))来看是哪个中断发生。本回答被网友采纳
第2个回答  2013-08-19
你看库函数哦!那里面除了你说的还有 EXTI15_10_IRQn,EXTI9_5_IRQn,5到9线是一个中断入口,10到15线有事一个中断入口
第3个回答  2013-08-19
DCD EXTI0_IRQHandler ; EXTI Line 0 DCD EXTI1_IRQHandler ; EXTI Line 1 DCD EXTI2_IRQHandler ; EXTI Line 2 DCD EXTI3_IRQHandler ; EXTI Line 3 DCD EXTI4_IRQHandler ; EXTI Line 4 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
第4个回答  2013-08-19
仔细钻研钻研技术手册 应该是有解决方法的 楼主 顶一个
相似回答