中断5-9里面有多个中断怎么判断呢

2019-10-14 22:28发布

void EXTI9_5_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line6)!=RESET)                //判断中断6是否发生
        {①}
        if(EXTI_GetITStatus(EXTI_Line8)!=RESET)                //判断中断8是否发生
        {②}
}
这样子能分辨中断5-9里面具体是6还是8中断吗,中断6触发会运行②吗,实验现象好像相互影响了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
我是路人甲
1楼-- · 2019-10-15 01:05
沧海 发表于 2017-2-28 13:12
EXTI_GetFlagStatus这个函数

终于弄好了
在中断初始化里面加了一句EXTI->PR = 0;
lvkanger
2楼-- · 2019-10-15 02:15
就是这样子处理,但是记得判断完之后要清除相应的标志位!
我是路人甲
3楼-- · 2019-10-15 07:44
 精彩回答 2  元偷偷看……
lvkanger
4楼-- · 2019-10-15 11:52
我是路人甲 发表于 2017-2-27 16:25
但我这样写,测试的时候6中断了,运行完6的中断函数,好像也运行了8的中断函数

所以有可能是中断标志在置位啊,你清除一下标志,看看还会不会进。
lvkanger
5楼-- · 2019-10-15 14:51
我是路人甲 发表于 2017-2-27 16:25
但我这样写,测试的时候6中断了,运行完6的中断函数,好像也运行了8的中断函数

所以有可能是中断标志在置位啊,你清除一下标志,看看还会不会进。
正点原子
6楼-- · 2019-10-15 16:52
这样应该是可以的。你在初始化中断的时候,清除所有的标记,再使能试试

一周热门 更多>