关于EXTI9_5_IRQn怎么理解

[复制链接]
10174|14
 楼主| rmbass 发表于 2016-6-26 22:27 | 显示全部楼层 |阅读模式
XTI9_5_IRQn即5-9线都连接到一个中断源上去了,那么可以有多个外部中断共同使用这个中断源吗,比如PA5,PB6,PC7这三个脚能不能同时配置中断,且中断触发方式不同。
yysforever 发表于 2016-6-27 14:54 | 显示全部楼层
这个本来就是多个外部中断占用一个中断源的
冰是睡着的冰 发表于 2016-6-27 16:03 | 显示全部楼层
可以同时配置中断,且中断触发方式不同。只不过他们发生中断进入的是同一个中断函数,需要在函数里面判断是哪个中断。至于他们是那种边缘中断,各设置各的
jouney316 发表于 2016-6-28 07:34 | 显示全部楼层
  1. void EXTI9_5_IRQHandler(void)
  2. {
  3.           if(EXTI_GetITStatus(EXTI_Line7) != RESET)
  4.         {        

  5.         }
  6.       
  7.         if(EXTI_GetITStatus(EXTI_Line9) != RESET)         
  8.         {         


  9.                 EXTI_ClearITPendingBit(EXTI_Line9);
  10.         }

  11. }
l科科1987 发表于 2016-6-28 20:41 | 显示全部楼层
在中断里面判断标志位,来区分是哪个触发的
原味_郭 发表于 2016-6-29 08:47 | 显示全部楼层
if(EXTI_GetITStatus(EXTI_Line6) != RESET)
if(EXTI_GetITStatus(EXTI_Line7) != RESET)
中断里如上判断即可
ahhsyf 发表于 2016-6-29 11:51 | 显示全部楼层
原味_郭 发表于 2016-6-29 08:47
if(EXTI_GetITStatus(EXTI_Line6) != RESET)
if(EXTI_GetITStatus(EXTI_Line7) != RESET)
中断里如上判断即 ...

这样貌似不行啊  貌似只有一个能用?
enginezhong 发表于 2016-6-29 17:20 | 显示全部楼层
ahhsyf 发表于 2016-6-29 11:51
这样貌似不行啊  貌似只有一个能用?

解决了吗,我也是这样的问题,PB5、6、7,使用时,只有7可以使用
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有效,原因可以按该库函数的定义。
bairurui0713 发表于 2016-6-30 16:50 | 显示全部楼层
可以的呀,px5-9的话,都是用这个中断源的,虽然都会进去这个中断,但是触发的源是不一样的
kokofei 发表于 2016-6-30 19:22 | 显示全部楼层

  1. void EXTI9_5_IRQHandler(void)
  2. {
  3. if(EXTI_GetITStatus(EXTI_Line5) != RESET)
  4.   {
  5. //添加中断处理程序
  6.    EXTI_CleaRFlag(EXTI_Line5);
  7.     EXTI_ClearITPendingBit(EXTI_Line5);
  8. }

  9. }
Classover 发表于 2016-6-30 20:45 | 显示全部楼层

那假如是PB5/Pc5/PE5的时候,不就没法判断了么
magicoctoy 发表于 2016-7-7 15:33 | 显示全部楼层
Classover 发表于 2016-6-30 20:45
那假如是PB5/Pc5/PE5的时候,不就没法判断了么

是的。所以你程序中最好不要同时用PB5/Pc5/PE5同时用作外部中断
wangjiahao88 发表于 2016-7-7 16:12 | 显示全部楼层
1 可以在中断里面进行判断
wangjiahao88 发表于 2016-7-7 16:13 | 显示全部楼层
2 可以判断是上升沿 还是下降沿,判断了之后,然后你使用各自独立的功能即可!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

182

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部