We have uart demos under the KSDK installation folder, you can refer to it.
KSDK_1.3.0\examples\frdmkv31f\driver_examples\uart\
You need to specify the number of data words that you going to receive before it can continue
For example, for uart_blocking example, the specified number is 1.
// Send/receive blocking function
while(true)
{
// Wait to receive input data
if (kStatus_UART_Success == UART_DRV_ReceiveDataBlocking(BOARD_DEBUG_UART_INSTANCE, &rxChar, 1u, OSA_WAIT_FOREVER))
{
// Echo received character
UART_DRV_SendDataBlocking(BOARD_DEBUG_UART_INSTANCE, &rxChar, 1u, 1000u);
}
}