大家好!
我要设置一个 DMA 通道,以从4个 SPI 模块发送数据,并使用另一个 DMA 通道从4个 SPI 模块接收数据。
要发送,我将连拍大小设置为4,连拍目的地 步长设置为 (SPIB_BASE-SPIA_BASE),传输大小设置为1,传输目的地步长设置为(3*(SPIB_BASE-SPIA_BASE)。
目标 地址为 (uint16_t *)(SPIA_BASE + SPI_O_TXBUF)
以及 用于以相同逻辑接收的类似设置。
然后,我使用 DMA_TRIG_SPIATX 事件和 DMA_TRIG_SPIDRX 来触发 TX DMA,以用于 RX_DMA。 所有五分位 SPI 级别都设置为1。
当我运行代码时,它工作正常,但 RRX_DMA 从某些 SPI 读取旧数据,并且无法正常工作。
是否可以使用1个 DMA 从所有4个 SPI 发送数据,并使用另一个 DMA 接收数据?
如果是。 如何设置 DMA 和 SPI。
我要提前表示非常感谢。