外部中断禁止函数不起效,请教原因

2019-03-23 19:23发布

我用的是STM32L152VBT6的芯片,我代码里面的中断禁止包括外部中断(PD8的)和定时器7以及串口1的中断,但是禁止以后我发现定时器还在继续工作(进中断服务函数了),而且PD8有中断信号的时候还在执行。
原中断关闭代码1:(关中断失败)
//Enable the EXTI8 Interrupt ,PD8的
void EXTI_DISABLE(void)
{
     NVIC_InitTypeDef NVIC_InitStructure;
     NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
     NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;       //关闭外部中断
     NVIC_Init(&NVIC_InitStructure);
}
void TIME7_DISABLE(void)
{
     NVIC_InitTypeDef NVIC_InitStructure;

     NVIC_InitStructure.NVIC_IRQChannel =TIM7_IRQn;
     NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;
     NVIC_Init(&NVIC_InitStructure);
}
void UART1INT_DISABLE(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;       //关闭外部中断
    NVIC_Init(&NVIC_InitStructure);
}

上面的代码关不掉,换成下面的这个还是不行:
void AllIntDisable(void)
{
  NVIC_DisableIRQ(USART1_IRQn);
  NVIC_DisableIRQ(TIM7_IRQn);
  NVIC_DisableIRQ(EXTI9_5_IRQn);
}

*******************************我在初始换完成后就执行关以上的中断,但是关不掉,求解********** 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。