TIM和USART怎样同时配置中断
NVIC配置中断的时候,配置一个TIM和一个USART的时候,TIM的中断就失效了呢?单独配置一个TIM就没有问题下面这样配置就出错
//配置LED灯用的TIM4中断优先级
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//配置LED灯用的TIM4中断优先级
NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
从贴出的程序看,这个没有问题,在其他地方找找问题吧 可能是优先级的原因 ,你现在配置的两个中断优先级是一样的,程序运行是可能会有冲突,你将TIM或者USART的NVIC_IRQChannelSubPriority配置成1试试!
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
学习了!!!
页:
[1]