DMA + 环形缓冲区工作原理
数据流程
UART
串口数据
→
DMA
自动搬运
→
Ring Buffer
环形缓冲区
→
CPU
处理数据
环形缓冲区 (SIZE = 8)
DMA 空闲
DMA 写位置
CPU 读位置
DMA 位置
0
CPU 位置
0
未处理
0
CPU 负载
0%
DMA 写入 1 字节
CPU 读取 1 字节
自动演示
重置
工作流程
1
DMA 配置为循环模式,自动将串口数据写入缓冲区,无需 CPU 干预
2
CPU 通过读取 DMA 计数器(NDTR)获取当前写入位置
3
CPU 在空闲时批量处理数据,处理完成后更新 tail 指针
数据吞吐量