spi依次传输8组数据a[],b[]…h[];edma接收存储,第一次传输时顺序正确,但是传输到一定字节,关闭spi,处理完以后再次启动spi_edma,传输数据的顺序就变成g[],h[],a[],b[],c[],d[],e[],f[];这个应该是再次开启spi时丢失了前面6个数据吧?这个怎么解决呢?
看了下SPI block diagram,很有可能是关闭spi后Rx shift reg,rxbuf,spibuf寄存器还有值,下次打开又传输进来了,多了两个数据,但是奇怪为什么是两个不是三个?
在重启spi之前,已经复位spi并且重新配置,结果还是一样
Shine:
请问edma有没有关掉重启?是否在SPI重启之前重启edma?
fei jie:
回复 Shine:
edma没有关闭,只是关闭了spi_edma的传输通道使能。需要重启edma?
TI中文支持网
