使用CH32V307的SPI DMA功能,主机,用的软件控制片选,1线TX模式。
当DMA填充数据并发送之后,MOSI和SCK都正常输出,数据正确。但是发送完成中断DMA_TCx提前大概1个多字节时间先出现了,我想在这里加片选释放,但会提前。请问如何用SPI DMA方式发送数据,并同步片选输出呢?
热门产品 :
CH339: 7端口多功能USB HUB控制器芯片
使用CH32V307的SPI DMA功能,主机,用的软件控制片选,1线TX模式。
当DMA填充数据并发送之后,MOSI和SCK都正常输出,数据正确。但是发送完成中断DMA_TCx提前大概1个多字节时间先出现了,我想在这里加片选释放,但会提前。请问如何用SPI DMA方式发送数据,并同步片选输出呢?
您好,
DMA通道x传输完成是指DMA的某个通道,完成了数据的搬运,这并不代表SPI这个外设,完成了数据的传输。在释放片选信号前先等待发送缓冲区为空标志,再等待SPI忙标志位复位,具体请参考应用手册中对寄存器的说明。
感谢回复,
也就是说DMA发送TC中断出来之后,还需要再继续判断SPI 的TXE为空加上BUSY为0不通讯,此时释放CS控制信号,对吧?