OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4815|回复: 5

关于外部中断一小疑惑 求救啊

[复制链接]

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2014-1-20 20:29:19 | 显示全部楼层 |阅读模式

问题是这样的 PB11 PA15都需要设置为上升沿下降沿触发 但是他们都是在同一个中断服务函数里处理的。这两个IO那个一个触发一个另一个也会在中断服务函数里被处理
void EXTI15_10_IRQHandler(void)
{
  if(SHUTTER == 0){
  EXTI->IMR &= ~(1<<15);
    if(SaveStepNumber == 0){  
  MOTOREV(64,2);     
   }
   TIM_Cmd(TIM2,ENABLE);
  EXTI->IMR |= 1<<15;   
  }else if(SHUTTER == 1){
  EXTI->IMR &= ~(1<<15);
   if(SaveStepNumber == 64){   
    MOTOFWD(64,2);     
   }
   EXTI->IMR |= 1<<15;   
  }
  if(REMOTE == 0){  
   EXTI->IMR&=~(1<<11); //关闭line0上的中断
   TIM_Cmd(TIM4,DISABLE);  //关闭定时4
   backint = Int;
   backpc = PC;  
   Int = 1;
   C = 1; 
   if(SaveStepNumber == 0){   
    MOTOREV(64,2);     
   }  
     EXTI->IMR|=1<<11; //开line0上的中断
  }
  if(REMOTE == 1){   
   EXTI->IMR&=~(1<<11); //关闭line0上的中断
   if(SaveStepNumber == 64){   
    MOTOFWD(64,2);     
   }  
   Int = backint;
   C = backpc;
   TIM_Cmd(TIM4,ENABLE); //打开定时器 
   EXTI->IMR|=1<<11; //开line0上的中断   
  }
 EXTI_ClearITPendingBit(EXTI_Line15);
 EXTI_ClearITPendingBit(EXTI_Line11);
}

这是用来测试的代码 怎么找到对应的中断而另个不被影响呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

163

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
金钱
443
注册时间
2012-4-29
在线时间
38 小时
发表于 2014-1-20 21:04:52 | 显示全部楼层
进中断以后先判断EXTI_PR的哪一个位是1不就行了。
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
 楼主| 发表于 2014-1-21 08:05:06 | 显示全部楼层
回复【2楼】ilikerome:
---------------------------------
好 我试试 谢谢啊
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2384
金钱
2384
注册时间
2012-11-22
在线时间
403 小时
发表于 2014-1-21 11:26:28 | 显示全部楼层
if(EXTI_GetITStatus(EXTI_Line11) != RESET)
{

}
EXTI_ClearITPendingBit(EXTI_Line11);

if(EXTI_GetITStatus(EXTI_Line15) != RESET)
{

}
EXTI_ClearITPendingBit(EXTI_Line15);
这样不就行了嘛
态度决定一切
回复 支持 反对

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2014-1-21 11:42:01 | 显示全部楼层
回复【4楼】冰封嗜魔:
---------------------------------
正解
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
 楼主| 发表于 2014-1-21 18:50:27 | 显示全部楼层
回复【4楼】冰封嗜魔:
---------------------------------
经1楼提示 已经弄好了 不过还是谢谢你 谢谢各位
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 00:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表