I am currently working with UART communication using the LPUART module on the S32K322 MCU and have encountered an issue when attempting to send more than 43 bytes.
Details:
API Used: Lpuart_Uart_Ip_AsyncSend()
Instance: 2
Data Length: 73 bytes
The Lpuart_Uart_Ip_AsyncSend() API returns LPUART_UART_IP_STATUS_SUCCESS. However, when I attempt to check the receive status using Lpuart_Uart_Ip_GetReceiveStatus():
On the first attempt, it returns LPUART_UART_IP_STATUS_RX_OVERRUN.
On subsequent attempts, it returns LPUART_UART_IP_STATUS_BUSY until the timeout occurs.
What are the possible causes for the RX overrun error occurring on the first attempt?
Why does the busy status persist until timeout after the initial overrun error?
Are there specific configurations (e.g., buffer size, FIFO settings, or timing considerations) that I should verify to prevent this behavior?
Could this issue be related to interrupt handling, baud rate settings, or hardware limitations for handling larger data sizes?
I would greatly appreciate your insights or any guidance to help resolve this issue.
Thank you for your time and support.