OpenEdv-开源电子网

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

EXTI15_10_IRQHandler()内多个中断外部中断 寄存器版 如何设置

[复制链接]

7

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-6-14
在线时间
1 小时
发表于 2015-6-30 13:45:28 | 显示全部楼层 |阅读模式
5金钱
如题,  假如我设置了PA12,PA13产生中断,是同一个中断向量,但是对应不同的中断线,此时,如果PA12,PA13同时产生中断,STM32是怎么响应这个中断的?优先响应哪个?使用寄存器版本应该如何修改

另外,优先级好像只要是在EXTI15_10_IRQHandler()都是一样的吧,那这个会不会存在同时中断 抢占情况
void EXTI15_10_IRQHandler(void)
{
  delay_ms(10);  //消抖
 if(KEY2==1)  //KEY_REGHT按下
 {
    LED1=!LED1;
  }
 EXTI->R=1<<13; // 清除

   
  if (KEY1==1)  //KEY_LEFT按下
 {
    LED2=!LED2;
  }
 
 EXTI->R=1<<14; //清除 
}

void EXTIX_Init(void)
{
  KEY_Init();
 Ex_NVIC_Config(GPIO_A,13,FTIR);   //下降
 Ex_NVIC_Config(GPIO_A,14,FTIR);   //下降
 MY_NVIC_Init(2,3,EXTI15_10_IRQn,2);  //抢占2子优先级3, 组2

}

最佳答案

查看完整内容[请看2#楼]

void EXTI15_10_IRQHandler(void) {   delay_ms(10);  //消抖  if(KEY2==0)  //KEY_REGHT按下  {     LED1=!LED1;   }  else if (KEY1==0)  //KEY_LEFT按下  {     LED2=!LED2;   }  EXTI->R=1<<13; // 清  EXTI->R=1<<14; //清  } 问题解 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-6-14
在线时间
1 小时
 楼主| 发表于 2015-6-30 13:45:29 | 显示全部楼层
void EXTI15_10_IRQHandler(void)
{
  delay_ms(10);  //消抖
 if(KEY2==0)  //KEY_REGHT按下
 {
    LED1=!LED1;
  }
 else if (KEY1==0)  //KEY_LEFT按下
 {
    LED2=!LED2;
  }
 EXTI->R=1<<13; // 清
 EXTI->R=1<<14; //清 
}
问题解决了,是我自己粗心把KEY2==0,写成了KEY2==1; 现在可以了,
另外想问下,有的人说这里可以加延时,有的说中断里不能加延时, 像现在程序这样用有没有问题
回复

使用道具 举报

7

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-6-14
在线时间
1 小时
 楼主| 发表于 2015-6-30 14:17:41 | 显示全部楼层
void EXTI15_10_IRQHandler(void)
{
  delay_ms(20);  //消抖
if(EXTI->R==1<<13)
{
delay_ms(5);  //消抖
if(KEY2==1)  //KEY_REGHT
{
              LED1=!LED1;
            }
EXTI->R=1<<13; //
            }
  
else if (EXTI->R==1<<14)  //
{
delay_ms(5);  //
if (KEY1==1)  //KEY_REGHT
   {
               LED2=!LED2;
               }

EXTI->R=1<<14; //
           }
}


我好像按这样改了可以工作了,但是有时有按键无反应的现象, 请坛友指点下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-28 02:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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