[STM32L4] L4用DMA搬内存偶发溢出

[复制链接]
490|13
 楼主| Uriah 发表于 2025-7-7 07:20 | 显示全部楼层 |阅读模式
用DMA做内存搬运,有时候搬数据量大就报溢出,是不是配置不对?
Clyde011 发表于 2025-7-7 07:22 | 显示全部楼层
用while等DMA Flag也行。
公羊子丹 发表于 2025-7-7 07:23 | 显示全部楼层
DMA通道别冲突。
周半梅 发表于 2025-7-7 07:24 | 显示全部楼层
源地址对齐得对。
帛灿灿 发表于 2025-7-7 07:25 | 显示全部楼层
目标区大小一定核对。
童雨竹 发表于 2025-7-7 07:26 | 显示全部楼层
缓冲区环形好用点。
万图 发表于 2025-7-7 07:27 | 显示全部楼层
HAL里别被打断阻塞。
Wordsworth 发表于 2025-7-7 07:28 | 显示全部楼层
NVIC优先级合理点。
Bblythe 发表于 2025-7-7 07:28 | 显示全部楼层
中断清标志别漏。
Pulitzer 发表于 2025-7-7 07:29 | 显示全部楼层
我后来改了单次模式。
 楼主| Uriah 发表于 2025-7-7 07:30 | 显示全部楼层
多任务访问小心抢占。
elephant00 发表于 2025-7-7 16:43 | 显示全部楼层
可能是DMA传输的数据量超过缓冲区容量,导致溢出。
elephant00 发表于 2025-7-7 16:46 | 显示全部楼层
可能DMA传输模式错误。
jcky001 发表于 2025-7-7 17:43 | 显示全部楼层
建议用双缓冲模式。
onlycook 发表于 2025-7-7 17:51 | 显示全部楼层
串口等外设的波特率设置过高,导致DMA无法及时接收数据。
cr315 发表于 2025-7-7 19:44 | 显示全部楼层
用环形缓冲区方法,通过指针循环递增管理缓冲区,避免数据覆盖。
flycamelaaa 发表于 2025-7-7 19:47 | 显示全部楼层
数据对齐或宽度不匹配?
powerantone 发表于 2025-7-7 20:47 | 显示全部楼层
优先级冲突导致的?
stormwind123 发表于 2025-7-7 20:48 | 显示全部楼层
估计是中断标志位未清除?
classroom 发表于 2025-7-7 21:50 | 显示全部楼层
优化总线负载,避免在DMA传输期间进行大量内存访问操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

155

主题

6185

帖子

1

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