如题目所说,为什么进入中断,标志位却不成立啊,中断设置是这样的
NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
然后在中断函数里判断标志位是这样的。
if(DMA_GetITStatus(DMA2_Stream0, DMA_FLAG_TCIF0)==SET)
总之进不去if,为什么啊,新手一枚,调试好久了,求大神指点。
上面是定时器中断,下面才是dma中断,然后还是那个问题
void MYDMA_Interrupt(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
DMA_ITConfig(DMA2_Stream0,DMA_IT_TC,ENABLE);//????DMA?????ê????????
NVIC_InitStructure.NVIC_IRQChannel=DMA2_Stream0_IRQn ; //DMA2?????÷0????
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01; //??????????1
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03; //×???????3
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
麻烦您指点一下啊,我已经陷入瓶颈了,我觉得这个问题可能和我最近遇到的另一个问题有关,就是配置中断原本正常,可以进中断,但是当我再配置一个定时器中断时,原本正常的中断就异常了,进不去了,而且定时器中断抢占优先级数值要大于原来配置的中断,也就是定时器抢占优先级小,感觉好奇怪呀,。
一周热门 更多>