大家好,我使用了RT1052的两个LPSPI1用作通信并使用DMA收发数据(通道2、3),其中LPSPI1作为主机与从设备通信,通信周期为(1ms),LPSPI2作为从机,同样使用DMA收发数据(通道0、1),接收从机设备发下来的数据,通信周期不固定,通信数据包大小都为1024字节。
测试时发现LPSPI1(主机)的通信正常,LPSPI2(从机)不能接收到完整的数据包,我查阅了手册,DMA通道数级越高,优先级越高。我将LPSPI2(从机)的DMA通道优先级调高,LPSPI1(主机)优先级调低,则主机通信数据出现了问题。
这个现象是不是DMA发生了占用导致数据收发不正常,我应该如何避免这种情况。
Hi @littlecousin ,
建议你用逻辑分析仪抓下SPI波形,看看是主从SPI数据情况,定位主从机的问题,然后再具体分析。
你说的如果从机调整了优先级,反而影响了主机的发送,这个不是很能理解,主机是发送数据出问题,还是接受出问题?毕竟时钟是主机给,从机只是配合情况。
另外, 如果是公司调这个问题,建议你使用公司邮箱新建问题贴,这样会有较高的支持优先级。
Best Regards,
kerry