However, correct data is not output through Lpspi_Ip_AsyncTransmit.
Values 0x01, 0x02 ~ 0x20 are being transmitted as test values, but it appears that only the first 3 bytes are transmitted as correct values, and the rest are transmitted as garbage values.
If there is anything you can help me with, please do so.
Yes, I solved the problem by using RM.
In order to use DMA in SPI, dmamux must be used, but my project did not use mcal. Since there is no way to add dmamux in projects that do not use mcal in SDK components, I had no choice but to add mcal. I confirmed that it works well by registering dmamux in rm.
Hi
Please refer to the Example S32K312 SPI Transmit & Receive Using DMA DS3.5 RTD300
Lpspi_Ip_AsyncTransmit is used in this project.
Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thank you for the source code. I am referring to it.
Since our project doesn't use MCAL, we don't use Rm.
Is it necessary to use the Cache_Ip_InvalidateByAddr function?
Currently, I am transmitting using the Lpspi_Ip_AsyncTransmit function, but when I read it with Lpspi_Ip_GetStatus, LPSPI_IP_FIFO_ERROR occurs. Do you know how to resolve LPSPI_IP_FIFO_ERROR?
I’m sorry for delayed response, we are heavily overloaded now.
Cache_Ip_InvalidateByAddr is for when DMA is used. If you don’t use DMA, then there is no need to call it.
If RTD 3.0.0 and DMA is used, then DMAMUX must be configured in Rm regardless of whether MCAL is used. (Rm->RmConfigSet->Dma Mux)
Would you please send me a simplified test project privately?
Install another C:\NXP\S32DS.3.5_RTD300 separately Then install RTD3.0.0.