[STM32F2] 串口不够快,试试STM32F105的DMA双缓冲,顺便聊聊工程移植的细节

[复制链接]
130|38
youtome 发表于 2026-9-9 16:00 | 显示全部楼层
工程移植中如何处理硬件差异?              
fengm 发表于 2026-9-9 19:23 | 显示全部楼层
当一帧数据发送完毕,总线进入空闲状态时触发中断。此时单片机才被唤醒,去环形缓冲区中取出这一帧完整数据进行处理。
jtracy3 发表于 2026-9-9 20:31 | 显示全部楼层
DMA双缓冲通过交替使用两块内存缓冲区实现无缝数据传输
lzmm 发表于 2026-9-10 11:12 | 显示全部楼层
不同STM32系列DMA双缓冲寄存器差异对比
ShimmeringDawn 发表于 2026-9-10 11:17 | 显示全部楼层
DMA中断回调里只拷贝数据,解析丢主循环跑,别让中断阻塞。
wwppd 发表于 2026-9-10 17:03 | 显示全部楼层
DMA双缓冲的核心机制是什么?              
janewood 发表于 2026-9-10 21:23 | 显示全部楼层
DMA的完成/半完成中断优先级,必须高于UART的错误中断,否则可能因错误中断处理延迟导致丢数据。
minzisc 发表于 2026-9-11 11:57 | 显示全部楼层
双缓冲在串口通信中的优势有哪些?
jonas222 发表于 2026-9-11 12:59 | 显示全部楼层

FreeRTOS下UART DMA双缓冲任务同步方法
uptown 发表于 2026-9-11 13:54 | 显示全部楼层
DMA 配置为 **Circular 循环模式**;开启 DMA 半完成 HT、全完成 TC 中断;
梦境漫游者 发表于 2026-9-11 14:25 | 显示全部楼层
缓冲区长度得选对,波特率越高,中断间隔越短,容易溢出,别小看这些细节。
febgxu 发表于 2026-9-12 11:17 | 显示全部楼层
DMA循环接收 + UART空闲中断。
macpherson 发表于 2026-9-12 14:30 | 显示全部楼层
高速串口DMA双缓冲防溢出机制设计
亚瑟 发表于 2026-9-12 14:41 | 显示全部楼层
DMA中断优先级调高,检查波特率设置,示波器测实际波特率,确保缓冲区足够覆盖RTS拉高到停止发送的字节数。
rosemoore 发表于 2026-9-12 17:25 | 显示全部楼层
DMA双缓冲如何优化串口数据校验?
hilahope 发表于 2026-9-12 18:42 | 显示全部楼层
高速串口丢数据的根源,往往在于CPU响应中断或处理数据的速度,跟不上DMA缓冲区切换的节奏
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0