我正在尝试在 Raspberry Pi 和
STM32F407 之间建立
通信。Pi 是主机,F407 是全双工从机。SPI 配置有循环模式 DMA。当数据从 Pi 发送时,我确实在 F407 接收到它。然而,在事务结束的那一刻,F407 中的接收缓冲区再次变为 0x00,擦除所有接收到的数据。我猜这是因为循环 DMA?
我尝试在 HAL_SPI_TxRxCpltCallback 函数中创建原始接收缓冲区的副本,但这没有用。它似乎在如果我在正常模式下配置 DMA 之后被调用,SPI 事务运行一次然后停止,而我希望它在后台连续运行。
我该如何解决这个问题?