OpenEdv-开源电子网

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

求教:中断优先级设置后无法嵌套中断的问题

[复制链接]

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-4-1
在线时间
1 小时
发表于 2013-4-7 22:35:58 | 显示全部楼层 |阅读模式

本人新手,板子是MINISTM32.  程序如下,是根据例程稍微改了一下。
#include <stm32f10x_lib.h>
#include <delay.h>
#include <led.h>
#include <key.h>
#include <usart.h>
#include <sys.h>

void EXTI0_IRQHandler(void)
{
 u8 t=30;
 if(key2==1)
 { delay_ms(10);
  if(key2==1)
  {
   while(t--)
   {
    LED0=!LED0;
    LED1=!LED1;
    delay_ms(300);
   }
  }
 }
 EXTI->R=1<<0;
}

void EXTI15_10_IRQHandler(void)
{ u8 x=20,y=20;
  if(key0==0)
  {
   delay_ms(10);
   if(key0==0)
   {
    while(x--)
    {
     LED0=!LED0;
     delay_ms(100);
    }

  }
  if(key1==0)
  {
   delay_ms(10);
   if(key1==0)
   {
    while(y--)
    {
     LED1=!LED1;
     delay_ms(200);
    }
   }

  }
 EXTI->R=1<13;
 EXTI->R=1<15;
 break;
 }
}

void exti_init(void)
{
 RCC->APB2ENR|=1<<2;//使能IOA口时钟使能
 JTAG_Set(JTAG_SWD_DISABLE);//关闭 JTAG 和SWD  
 GPIOA->CRL&=0xfffffff0;
 GPIOA->CRL|=0X00000008;
 GPIOA->CRH&=0X0F0FFFFF;
 GPIOA->CRH|=0X80800000;
 GPIOA->ODR|=1<<13;
 GPIOA->ODR|=1<<15;
 Ex_NVIC_Config(GPIO_A,0,RTIR);
 Ex_NVIC_Config(GPIO_A,13,FTIR);
 Ex_NVIC_Config(GPIO_A,15,FTIR);
 MY_NVIC_Init(0,2,EXTI0_IRQChannel,2);
 MY_NVIC_Init(1,2,EXTI15_10_IRQChannel,2);
}
现在问题是:我把抢占优先级设置为EXTI0<EXTI15_10,比如 MY_NVIC_Init(0,2,EXTI0_IRQChannel,2); MY_NVIC_Init(1,2,EXTI15_10_IRQChannel,2);
这个程序就正常,可是实现EXTI0嵌套中断EXTI15_10。
如果反过来把抢占优先级设置为EXTI0<EXTI15_10,比如 MY_NVIC_Init(1,2,EXTI0_IRQChannel,2); MY_NVIC_Init(0,2,EXTI15_10_IRQChannel,2);
程序就不正常了,我试验结果是:按KEY0可以进入中断,再按KEY1或KEY2也可以嵌套中断KEY0,但是执行到这里后,程序就不能返回主程序了。同时按KEY1或KEY2还可以执行。
麻烦高手指点迷津!!!

 

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-7 23:26:51 | 显示全部楼层
EXTI->R=1<<0;
之类的,该改为:
EXTI->R|=1<<0;
就好了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-4-1
在线时间
1 小时
 楼主| 发表于 2013-4-8 08:36:01 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
十分感谢哈。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-22 02:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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