DMA中断阻塞

2019-08-18 21:21发布

本帖最后由 hojo 于 2017-5-17 16:16 编辑

[mw_shl_code=applescript,true]void DMA1_Channel1_IRQHandler(void)
{
        int i;
        
    if(DMA_GetITStatus(DMA1_IT_TC1)&&flagDMA==0)
    {
        DMA_ClearITPendingBit(DMA1_IT_GL1);
                                for(i=0;i<size_fft;i++)
                                {
                                        fftData.real = ADC_ConvertedValue;
                                       
                                }
                                flagDMA=1;
    else
DMA_ClearITPendingBit(DMA1_IT_GL1);
    }
}[/mw_shl_code]我希望通过flagDMA这个全局变量来控制什么时候将采集到的数据赋值给fftData这个数组,因为有时数据还没处理完它就赋值了新值,flagDMA==0时再进入中断处理函数,但是我这样用debug模式一步步执行就可以,直接运行看效果貌似不行,是怎么回事呢


0条回答

一周热门 更多>