AnsweredAssumed Answered

MKL26Z256 UART RX callback get ring buffer overflow, but not RX idle

Question asked by Bruce Graham on Jul 23, 2019
Latest reply on Jul 25, 2019 by Bruce Graham

MCUXpresso IDE v11.0.0 [Build 2516] [2019-06-05]

Device: MKL26Z256xxx4

SDK_2.x_MKL26Z256xxx4 2.4.1

 

I started with the interrupt_rb_transfer project.

 

My custom board has a MKL26Z256 that is connected to a modem at 115200.

 

Using a Logic Analyzer, I can see my TX strings ("AT\n") getting to a modem, and I see the RX strings being returned ("OK\r\n").

 

The UART_UserCallback() is being called when the TX is idle: kStatus_UART_TxIdle

 

But UART_UserCallback() is not getting called when the RX is idle: kStatus_UART_RxIdle

 

Since the kStatus_UART_RxIdle event does not occur, the UART_UserCallback() is being called with the events: kStatus_UART_RxRingBufferOverrun and then kStatus_UART_RxHardwareOverrun.

 

I have not modified the code that sets up the UART, so I can't explain why I am not getting the expected kStatus_UART_RxIdle event

 

Can somebody suggest what might explain why the kStatus_UART_RxIdle event is not occurring?

 

Thanks,

Bruce Graham
Senior Software Engineer
TechnoSoft Innovations, Inc.
bgraham@technosofteng.com

 

Outcomes