香版, 你好, 介绍一下问题背景, 如果用STM32做音频, 假如I2S的数据发送采用DMA方式, 因为没有DMA没有乒乓缓冲, 所以采用DMA_FIFOThreshold_HalfFull模式, 即缓冲区发送完一半就产生中断.
姑且我把DMA缓冲区A分成前一半A1和后一半A2, 当A1发送时, A2填充数据, 当A1发送完, A2已经填充完数据. 因为A1发送完, 此时响应DMA发送完一半中断, 切换到A2.
我的问题是, A1切换到A2时, 是不是由硬件完成的, CPU不用干预? 还有A1切换到A2时, 这个时间会是多少? 我想知道F1/F2/F4的这个时间值, 能保证小于0.86us吗?
希望香版能帮忙解惑, 谢谢! |