[其他] 外部中断程式无任何反应

[复制链接]
 楼主| elephant00 发表于 2021-11-5 15:50 | 显示全部楼层 |阅读模式
各位安安
这边有遇到一个有关于外部中断问题想请教大家
(使用MM32F031C8T6)
我尝试用范例改过使用PB0去做外部中断
可是外部中断程式无任何反应(也就是一直都不会主动跳进中断副程式)
但一般的GPIO却有反应这样...
因为解很久...都没有头绪了
想问大家这要怎么解决 不好意思 麻烦各位了
中断程式码如下:
//******************************************************************************
//Function: EXTI_Init:
//Type          :
//******************************************************************************
void EXTI_Init(void){
        RCC->AHBENR|=0x3<<17;
            RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;           //System configuration register enable  
        GPIOB->CRL &= 0xFFFF0FF0;
        GPIOB->CRL |= GPIO_CRL_CNF0_1;
        Ex_NVIC_Config(_EXTI_GPIOB_,0,_EXTI_FTIR_); //下降沿触  
        NVIC_Init(2,0,EXTI0_1_IRQn,2);                                //抢占2,子优先级0,组2         
}
//******************************************************************************
//Function: Ex_NVIC_Config:
//Type          :
//******************************************************************************
void Ex_NVIC_Config(uint8_t p_GPIO,uint8_t p_Bit,uint8_t TRIM){
    uint8_t m_EXTAddr;
    uint8_t m_EXTOffset;
    m_EXTAddr=p_Bit/4;//得到中断寄存器组的编号
    m_EXTOffset=(p_Bit%4)*4;
    //RCC->APB2ENR|=0x01;//使能io复用时钟                        
    SYSCFG->EXTICR[m_EXTAddr]&=~(0x000F<<m_EXTOffset);//清除原来设置!!!
    SYSCFG->EXTICR[m_EXTAddr]|=p_GPIO<<m_EXTOffset;//EXTI.BITx映射到GPIOx.BITx
    //自动设置
    EXTI->IMR|=1<<p_Bit;//  开启line BITx上的中断
         //EXTI->IMR = 0;//Disable LINE BITX interrupt
    //EXTI->EMR|=1<<BITx;//不屏蔽line BITx上的事件 (如果不屏蔽这句,在硬件上是可以的,但是在软件仿真的时候无法进入中断!)
    IF(TRIM&0x01)EXTI->FTSR|=1<<p_Bit;//line BITx上事件下降沿触发
    if(TRIM&0x02)EXTI->RTSR|=1<<p_Bit;//line BITx上事件上升降沿触发
}         
//******************************************************************************
//Function: EXTI0_1_IRQHandler:
//Type          :
//******************************************************************************  
void EXTI0_1_IRQHandler(void){
        __NOP();
        if( P_B0 == 0){        
                __NOP();
  
          }
     EXTI->PR=1<<0;  //清除LINE0上的中断标志位   
}
redone 发表于 2021-12-14 15:46 | 显示全部楼层
帮楼主顶一下
onlycook 发表于 2021-12-14 16:23 来自手机 | 显示全部楼层
没遇到过,不好意思,路过
redone 发表于 2021-12-18 16:50 | 显示全部楼层
楼主搞定了没,这个好像难住了
sadicy 发表于 2022-1-17 10:31 | 显示全部楼层
确实好想难道了
海滨消消 发表于 2022-2-16 10:39 来自手机 | 显示全部楼层
这个貌似成了世纪难题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1030

主题

3869

帖子

7

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