[STM32F4] F4 SPI DMA收数据有时候卡死

[复制链接]
462|18
 楼主| 周半梅 发表于 2025-7-8 07:14 | 显示全部楼层 |阅读模式
DM, DMA, pi, spi
SPI加DMA连续收数据,跑一阵子就卡死了,怀疑是溢出没清?
Clyde011 发表于 2025-7-8 07:18 | 显示全部楼层
有时候是CS脚抖动。
公羊子丹 发表于 2025-7-8 07:20 | 显示全部楼层
DMA溢出标志要清干净。
 楼主| 周半梅 发表于 2025-7-8 07:21 | 显示全部楼层
FIFO阈值别设太小。
帛灿灿 发表于 2025-7-8 07:21 | 显示全部楼层
SPI模式别选错。
童雨竹 发表于 2025-7-8 07:22 | 显示全部楼层
中断优先级和DMA冲突了?
万图 发表于 2025-7-8 07:23 | 显示全部楼层
DMA循环模式试试。
Wordsworth 发表于 2025-7-8 07:24 | 显示全部楼层
我分段收比一次收稳。
Bblythe 发表于 2025-7-8 07:25 | 显示全部楼层
SPI速率别拉太高。
Pulitzer 发表于 2025-7-8 07:26 | 显示全部楼层
NVIC里别关了DMA中断。
Uriah 发表于 2025-7-8 07:27 | 显示全部楼层
用逻辑分析仪看总线。
flycamelaaa 发表于 2025-7-8 16:01 | 显示全部楼层
DMA通道未正确映射到SPI外设,或DMA传输方向配置错误。
powerantone 发表于 2025-7-8 17:01 | 显示全部楼层
未启用循环模式但未及时处理数据,或缓冲区未对齐导致传输异常。
stormwind123 发表于 2025-7-8 18:02 | 显示全部楼层
可能是中断未启用或优先级不足。
probedog 发表于 2025-7-8 19:03 | 显示全部楼层
没在中断服务函数中清除传输完成标志?
szt1993 发表于 2025-7-8 19:33 | 显示全部楼层
DMA卡死一般是设置问题
classroom 发表于 2025-7-8 20:03 | 显示全部楼层
在中断服务函数中清除标志位。
jcky001 发表于 2025-7-8 20:05 | 显示全部楼层
可能是SPI时钟配置错误。
cr315 发表于 2025-7-8 22:05 | 显示全部楼层
若使用HAL库,可通过HAL_SPI_RxCpltCallback回调函数处理传输完成事件,避免直接操作中断标志位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

167

主题

6128

帖子

1

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