STM32共用中断线的外部中断引脚的判断
因为STM32的中断线有多个外部中断引脚共用的,比如中断线1,由PA1,PB1,PC1,PD1,PE1,PF1来共用,假设这些引脚都设置成了中断源且都为下降沿触发,其中任...
因为STM32的中断线有多个外部中断引脚共用的,比如中断线1,由PA1,PB1,PC1,PD1,PE1,PF1来共用,假设这些引脚都设置成了中断源且都为下降沿触发,其中任一个产生中断都会进入到中断线1的中断服务程序,那么在中断服务程序中如何来判断是哪个引脚的中断源产生了中断呢?我现在查到的方法只是去判断各个管脚的电平高低,我觉得这样是非常不可靠的,现求教更可靠的方法,请用库函数的方法写出程序并加注释。务必详细.
展开
4个回答
2019-01-17
展开全部
同时配置了多个管脚(比如,PE1,PA1,PB1)的中断到同一中断线(比如EXTI_LINE1),只有最后的一个配置生效(PB1有 效,PE1,PA1进不了中断)
展开全部
不对吧?根据AFIO->EXTICR1寄存器的定义来看,一次只能从PA1,PB1,PC1,PD1,PE1,PF1、PG1中选一个作为中断源。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果需要在两个不同的引脚上引入不同的两个外部中断,这两个中断的处理函数两个中断的处理函数不一定分别在两个子函数中写。如果两个中断没共用一个
追问
请看清我的条件:中断线1,由PA1,PB1,PC1,PD1,PE1,PF1来共用,假设这些引脚都设置成了中断源且都为下降沿触发,其中任一个产生中断都会进入到中断线1的中断服务程序,那么在中断服务程序中如何来判断是哪个引脚的中断源产生了中断呢?
不共用中断源的话,入口地址就已经区分来开了,也不会有这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在中断服务函数中获取PA1,PB1,PC1,PD1,PE1,PF1、PG1的IO状态来具体判断是哪个引脚触发的外部中断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询