stm32f407系列dma能够进入中断,但是判断中断标志位却不成立。

2019-07-20 09:51发布

如题目所说,为什么进入中断,标志位却不成立啊,中断设置是这样的  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);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
匿名消息
2019-07-21 02:00
回复【5楼】正点原子:
---------------------------------
麻烦您指点一下啊,我已经陷入瓶颈了,我觉得这个问题可能和我最近遇到的另一个问题有关,就是配置中断原本正常,可以进中断,但是当我再配置一个定时器中断时,原本正常的中断就异常了,进不去了,而且定时器中断抢占优先级数值要大于原来配置的中断,也就是定时器抢占优先级小,感觉好奇怪呀,。

一周热门 更多>