[STM32F7] STM32H7 SPI 配合 DMA 无法工作

[复制链接]
2|0
柴库柴库 发表于 2026-9-2 12:54 | 显示全部楼层 |阅读模式
在 STM32H7 上开发 DMA 驱动的全双工 SPI 通信,手上两块 NUCLEO‑H743ZI,一块做用主机,一块做从机。
我拿到官方例程`SPI_FullDuplex_ComDMA`,但是没有 TrueStudio 版本工程模板;于是我 CubeMX 生成工程,把例程的 Inc、Src 源码直接复制替换进去。结果运行异常,只能发送少量字节,接收缓冲区***填不满。

轮询阻塞模式`HAL_SPI_TransmitReceive()`完全正常,SPI 硬件、接线、时序没问题;
只要换成 DMA 版本`HAL_SPI_TransmitReceive_DMA`,函数返回`HAL_OK`,但很快进入`HAL_SPI_ErrorCallback`,错误码`0x10`即`HAL_SPI_ERROR_DMA`;
同样一套代码放到 STM32F7 上 DMA SPI 工作完全正常;
Keil MDK 下官方原版例程可以跑,但 CubeMX 新建工程复制一模一样源码就复现故障

您需要登录后才可以回帖 登录 | 注册

本版积分规则

209

主题

229

帖子

0

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