1、DMA的中断标志需要软件手动清除,即使你启用了中断,也不会硬件清除的,可以:
DMA_ClearITPendingBit(DMA_IT_HT);//清楚传输过半中断标志DMA_ClearITPendingBit(DMA_IT_TC);
2、觉得的这个传输过半中断很好用,可实现类似双缓存功能,即把内存区设置为要传输的字节数(例如串口传输)的两倍,DMA填满一半了,启用(串口)传输,DMA完成了,再传DMA内存区的后一半。
本文共 285 字,大约阅读时间需要 1 分钟。
1、DMA的中断标志需要软件手动清除,即使你启用了中断,也不会硬件清除的,可以:
DMA_ClearITPendingBit(DMA_IT_HT);//清楚传输过半中断标志DMA_ClearITPendingBit(DMA_IT_TC);
2、觉得的这个传输过半中断很好用,可实现类似双缓存功能,即把内存区设置为要传输的字节数(例如串口传输)的两倍,DMA填满一半了,启用(串口)传输,DMA完成了,再传DMA内存区的后一半。
转载于:https://www.cnblogs.com/TrueElement/archive/2012/09/13/2683644.html