【M480】多路PDMA传输丢中断。

chrishu |浏览197次
收藏|2023/06/01 16:48

多个SPI主机同时使用PDMA进行数据收发,数据传完后发现接收通道没有产生PDMA通道传完标志。

满意回答

2023/06/01 16:58

分析:测试发现发生了SPI RX FIFO溢出错误。是因为SPI RX对应的PDMA通道的通道号比较大,优先级低于TX 通道。SPI接收到数据后PDMA来不及将数据搬走,产生SPI RX FIFO溢出,从而丢数据。PDMA搬运不到指定个数的数据,无法结束传输,也不会产生通道传完标志。

解决:将SPI的RX对应的PDMA通道设置为固定优先级,或者选择通道号较小的通道。

nuvoton2022

其他回答(0)
0人关注该问题
+1
 加载中...