×
单片机 > 单片机程序设计 > 详情

DMA接受中断的问题,为什么标志位没有更新

发布时间:2020-08-31 发布时间:
|

在32的点子哥的例程当中,我发现DMA的例程,竟然是没有写DMA的接受的中断问题,这是一件让人很烦恼的问题。


于是我想,能不能自己写一个DMA的接受中断。


然后有了这样的一段中断函数的代码:


void DMA1_Channel2_IRQHandler(void)

{

    if(DMA_GetITStatus(DMA1_FLAG_TC3)==SET)

    {

        DMA_ClearFlag(DMA1_FLAG_GL3);        

    }

}


那么问题就会出现啦,你会发现,标志位总是没有置位。


那么为什么了?


因为DMA的发送是空闲中断,标志位。


而接受中断标志位则是:溢出中断。所以你的数据不够多,是不能进中断的!!!!!!!!!!!!!!!!!!!!!!


所以。谨慎使用。 



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单