问题描述:
STM32为什么进入了中断函数还要检查中断标志位啊?
void DMA1_Channel6_IRQHandler(void)
{
/* Test on DMA1 Channel6 Transfer Complete interrupt */
if(DMA_GetITStatus(DMA1_IT_TC6))
{
/* Get Current Data Counter value after complete transfer */
CurrDataCounterEnd = DMA_GetCurrDataCounter(DMA1_Channel6);
/* Clear DMA1 Channel6 Half Transfer,Transfer Complete and Global interrupt pending bits */
DMA_ClearITPendingBit(DMA1_IT_GL6);
}
}
像这个中断函数,都已经进入中断了,为什么还要用IF判断下啊
void DMA1_Channel6_IRQHandler(void)
{
/* Test on DMA1 Channel6 Transfer Complete interrupt */
if(DMA_GetITStatus(DMA1_IT_TC6))
{
/* Get Current Data Counter value after complete transfer */
CurrDataCounterEnd = DMA_GetCurrDataCounter(DMA1_Channel6);
/* Clear DMA1 Channel6 Half Transfer,Transfer Complete and Global interrupt pending bits */
DMA_ClearITPendingBit(DMA1_IT_GL6);
}
}
像这个中断函数,都已经进入中断了,为什么还要用IF判断下啊
问题解答:
我来补答展开全文阅读