[STM32L5] SPI DMA 无法发送/接收数据

[复制链接]
481|11
石榴大王 发表于 2025-9-15 23:00 | 显示全部楼层 |阅读模式
STM32L45 CubeIDE:SPI DMA 无法发送/接收数据,而常规 SPI 工作正常。我正通过 SPI 读取 IMU 传感器数据。我已生成代码,并验证了使用 HAL_SPI_TransmitReceive 函数能够正常读取 SPI 数据。但当用 HAL_SPI_TransmitReceive_DMA 函数(使用相同的 Rx 和 Tx 缓冲区)时,SCK、MISO、MOSI 线路上没有任何信号。我已为 TX 和 RX 配置了 DMA,设置优先级为高、模式为正常、数据宽度为字节。请问有哪些需要检查的地方?
麻花油条 发表于 2025-9-16 15:18 | 显示全部楼层
DMA 通道是否正确?
classroom 发表于 2025-9-16 16:19 | 显示全部楼层
检查DMA请求映射。
cr315 发表于 2025-9-16 17:20 | 显示全部楼层
检查DMA配置。
duo点 发表于 2025-9-16 18:20 | 显示全部楼层
SPI 是否启用了 DMA?
elephant00 发表于 2025-9-16 15:21 | 显示全部楼层
SPI中断是否冲突?如果启用了 SPI 中断,可能会与 DMA 冲突。
flycamelaaa 发表于 2025-9-16 19:22 | 显示全部楼层
在CubeMX中禁用SPI中断仅使用DMA。
jcky001 发表于 2025-9-16 20:22 | 显示全部楼层
检查HAL库调用。
flycamelaaa 发表于 2025-9-16 21:24 | 显示全部楼层
检查DMA回调函数,如果未调用回调,可能是 DMA 未正确启动或 SPI 配置错误。
powerantone 发表于 2025-9-16 22:25 | 显示全部楼层
SPI和DMA时钟是否已启用?
onlycook 发表于 2025-9-16 20:46 | 显示全部楼层
如果MCU 进入低功耗模式,DMA 可能无法工作。
七毛钱 发表于 2025-9-16 21:58 | 显示全部楼层
在调用 DMA 前禁用低功耗模式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

54

帖子

0

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