智能车制作

 找回密码
 注册

扫一扫,访问微社区

STM32论坛
查看: 1476|回复: 0
打印 上一主题 下一主题

STM32外中断冲突求助

[复制链接]

1

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
34
威望
20
贡献
10
兑换币
8
注册时间
2012-12-8
在线时间
3 小时
毕业学校
黑龙江科技学院
跳转到指定楼层
1#
发表于 2012-12-8 09:48:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好:
   我在调试STM32外中断时遇到了一个比较奇怪的问题,希望大家帮忙分析一下.
问题是如果有2个外中断同时产生,STM32是先执行高优先级中断然后再执行低优先级中断吗? 硬件电路是PC6发出的500HZ脉冲,如果PC5PB15连接PC6, 15会有很多中断没有响应,如果PC5PB10连接PC6,510的中断都会响应,这是为什么呢?
   另外,我设定的是下降沿中断,结果个别上升沿也会产生中断,相关代码如下
     void Ex_NVIC_Config(u8 GPIOx,u8 BITx)
          {
          u8 EXTADDR;
          u8 EXTOFFSET;
          EXTADDR=BITx/4;//得到中断寄存器组的编号
          EXTOFFSET=(BITx%4)*4;
          RCC->APB2ENR|=0x01;//使能io复用时钟
          AFIO->EXTICR[EXTADDR]&=~(0x000F<<EXTOFFSET);//清除原来设置!!!
          AFIO->EXTICR[EXTADDR]|=GPIOx<<EXTOFFSET;//EXTI.BITx映射到GPIOx.BITx
          }
             void Exti_int()
         {
          RCC->APB2ENR|=1<<0; //开启辅助时钟
          Ex_NVIC_Config(GPIO_C,9);  //PC9 IN1/X0
          Ex_NVIC_Config(GPIO_B,10); //PB10 IN2/X1
          Ex_NVIC_Config(GPIO_B,15);  //PB15 IN7/X6
          Ex_NVIC_Config(GPIO_C,5);  //PC5 IN8/X7
          Ex_NVIC_Config(GPIO_C,2);  //PC2 WRITE FLASH
                EXTI->FTSR=0x8624;//2 5 9 10 15
                EXTI->RTSR&=0x00000000;
          MY_NVIC_Init(1,1,EXTI2_IRQChannel,2);
          MY_NVIC_Init(0,2,EXTI9_5_IRQChannel,2);
          MY_NVIC_Init(0,3,EXTI15_10_IRQChannel,2);
                                     EXTI->R = 0x0007FFFF;
                                                    EXTI->IMR= 0x8624;
                                                    EXTI->EMR= 0x8624;
         }
   void EXTI9_5_IRQHandler(void)
      {
    if (EXT_flag5) //光电信号 X7
              { out2++;EXT_flag5=1;  }
     }
void EXTI15_10_IRQHandler(void)
       {                     
            if (EXT_flag15)//X6
            { led2++; EXT_flag15=1; }
              if (EXT_flag10)//X1
               { out3++;  EXT_flag10=1; }
       }
我是用示波器观察OUT1,OUT2,LED2得出的结论.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 04:13 , Processed in 0.044041 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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