Hai, Iam using S32K144 board. Intially I used S32 Design studio for ARM V2.0 with SDK updated to 0.8.6 and tested the LPUART echo example that used non blocking functions for transmission and reception(with interrupt)(LPUART_DRV_SendData and LPUART_DRV_ReceiveData). LPUART was working fine in terms of transmission to PC and reception from PC. Here iam using termite serial terminal. After that tried using S32 Design studio for ARM Version 2018.R1 with SDK updated to 3.0.0.Here the LPUART echo example(with interrupt) was using transmission and reception with blocking functionality which was working fine in terms of transmission and reception. Then I tried the same LPUART echo example code from SDK 0.8.6 using transmission and reception with non blocking functions (LPUART_DRV_SendData and LPUART_DRV_ReceiveData) in SDK 3.0.0.Here transmissions worked fine, but reception from PC(termite) to controller is not happening. Kindly help me in this and please guide if Iam doing something wrong.
Hi Anoop R Nair
Could you share the code that you are trying to implement? if I am correct, you are saying that the LPUART_DRV_ReceiveData and LPUART_DRV_SendData is causing you problems with the SDK 3.0, am I correct? could you clarify how are you using those functions and how did you corroborate that the transfer has finished?
Best regards
Jorge Alcala
Thanks Jorge Antonio Alcala Vazquez for your reply.
Actually with SDK 3.0.0, LPUART_DRV_SendData is working fine but LPUART_DRV_ReceiveData is causing problem for me. Iam sharing the test code.Actually this test code is same example code provided in SDK 0.8.6(processor expert) which i tried in SDK 3.0.0(processor expert). In SDK 0.8.6 both functions are working fine. I have attached the test code.
HI Anoop R Nair
I have no issue if I place the code below code in the echo demo from the SDK version 3.0.0:
/* Send the received data back */ LPUART_DRV_SendData(INST_LPUART1, buffer, bufferIdx); /* Wait for transmission to be complete */ while(LPUART_DRV_GetTransmitStatus(INST_LPUART1, &bytesRemaining) != STATUS_SUCCESS);
If you are using the EVK board, you should be using the LPUART1 instance, could you clarify why in the code that you attached you are using instance 2?