DMA + 环形缓冲区工作原理

数据流程

UART
串口数据
DMA
自动搬运
Ring Buffer
环形缓冲区
CPU
处理数据
环形缓冲区 (SIZE = 8)
DMA 空闲
DMA 写位置
CPU 读位置
DMA 位置
0
CPU 位置
0
未处理
0
CPU 负载
0%

工作流程

1
DMA 配置为循环模式,自动将串口数据写入缓冲区,无需 CPU 干预
2
CPU 通过读取 DMA 计数器(NDTR)获取当前写入位置
3
CPU 在空闲时批量处理数据,处理完成后更新 tail 指针
数据吞吐量