打印

关于EXTI9_5_IRQn怎么理解

[复制链接]
7908|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rmbass|  楼主 | 2016-6-26 22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yysforever| | 2016-6-27 14:54 | 只看该作者
这个本来就是多个外部中断占用一个中断源的

使用特权

评论回复
板凳
冰是睡着的冰| | 2016-6-27 16:03 | 只看该作者
可以同时配置中断,且中断触发方式不同。只不过他们发生中断进入的是同一个中断函数,需要在函数里面判断是哪个中断。至于他们是那种边缘中断,各设置各的

使用特权

评论回复
地板
jouney316| | 2016-6-28 07:34 | 只看该作者
void EXTI9_5_IRQHandler(void)
{
          if(EXTI_GetITStatus(EXTI_Line7) != RESET)
        {        

        }
      
        if(EXTI_GetITStatus(EXTI_Line9) != RESET)         
        {         


                EXTI_ClearITPendingBit(EXTI_Line9);
        }

}

使用特权

评论回复
5
l科科1987| | 2016-6-28 20:41 | 只看该作者
在中断里面判断标志位,来区分是哪个触发的

使用特权

评论回复
6
原味_郭| | 2016-6-29 08:47 | 只看该作者
if(EXTI_GetITStatus(EXTI_Line6) != RESET)
if(EXTI_GetITStatus(EXTI_Line7) != RESET)
中断里如上判断即可

使用特权

评论回复
7
ahhsyf| | 2016-6-29 11:51 | 只看该作者
原味_郭 发表于 2016-6-29 08:47
if(EXTI_GetITStatus(EXTI_Line6) != RESET)
if(EXTI_GetITStatus(EXTI_Line7) != RESET)
中断里如上判断即 ...

这样貌似不行啊  貌似只有一个能用?

使用特权

评论回复
8
enginezhong| | 2016-6-29 17:20 | 只看该作者
ahhsyf 发表于 2016-6-29 11:51
这样貌似不行啊  貌似只有一个能用?

解决了吗,我也是这样的问题,PB5、6、7,使用时,只有7可以使用

使用特权

评论回复
9
myidear| | 2016-6-30 09:51 | 只看该作者
特别注意
        SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource5);
        SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource6);
        SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource7);
不能够合并成一句
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource5|EXTI_PinSource6|EXTI_PinSource7);
合并后只有7有效,原因可以按该库函数的定义。

使用特权

评论回复
10
bairurui0713| | 2016-6-30 16:50 | 只看该作者
可以的呀,px5-9的话,都是用这个中断源的,虽然都会进去这个中断,但是触发的源是不一样的

使用特权

评论回复
11
kokofei| | 2016-6-30 19:22 | 只看该作者

void EXTI9_5_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line5) != RESET)
  {
//添加中断处理程序
   EXTI_CleaRFlag(EXTI_Line5);
    EXTI_ClearITPendingBit(EXTI_Line5);
}

}

使用特权

评论回复
12
Classover| | 2016-6-30 20:45 | 只看该作者

那假如是PB5/Pc5/PE5的时候,不就没法判断了么

使用特权

评论回复
13
magicoctoy| | 2016-7-7 15:33 | 只看该作者
Classover 发表于 2016-6-30 20:45
那假如是PB5/Pc5/PE5的时候,不就没法判断了么

是的。所以你程序中最好不要同时用PB5/Pc5/PE5同时用作外部中断

使用特权

评论回复
14
wangjiahao88| | 2016-7-7 16:12 | 只看该作者
1 可以在中断里面进行判断

使用特权

评论回复
15
wangjiahao88| | 2016-7-7 16:13 | 只看该作者
2 可以判断是上升沿 还是下降沿,判断了之后,然后你使用各自独立的功能即可!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

182

帖子

0

粉丝