我用的是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);
}
*******************************我在初始换完成后就执行关以上的中断,但是关不掉,求解**********
此帖出自
小平头技术问答
开关中断用这个
TIM_ITConfig(TIM4,TIM_IT_Update, ENABLE);
一周热门 更多>