Hi,
I am using KSDK 1.3 with KDS 3.2 and I am struggling to receive a variable size array of bytes. I only receive one byte and I cannot get the rest of the array.
I used the function static inline uint8_t UART_HAL_GetRxFifoSize(UART_Type * base) and it returned 0x0 which means only one word in the buffer.
I did not find a way to change it and use UART_DRV_ReceiveData or UART_DRV_ReceiveDataBlocking for a greater number of bytes.
How can I solve it?
Thanks in advance
Hi Pedro
UART_HAL_GetRxFifoSize() returns the physical size of the FIFO in the UART (by reading UARTx_PFIFO). A zero means that the particular device that you are using doesn't have a FIFO.
However, I don't expect this to be an issue since you need to use a software buffer to store reception to and then there is no dependency on the HW used.
Regards
Mark
Kinetis: http://www.utasker.com/kinetis.html
UART: http://www.utasker.com/docs/uTasker/uTaskerUART.PDF
So why do I get just one byte from the functions below?
UART_DRV_ReceiveDataBlocking(UART_INSTANCE, message, count, UART_TIMEOUT);
UART_DRV_ReceiveData(UART_INSTANCE, message, count);
I have already validated the channel through a analyzer and the information is reaching the RX pin
Hi Pedro
I don't use KSDK 1.3 so don't know the details. If you need to use KSDK 1.3 it may be best to ask at its forum: https://community.nxp.com/community/mcuxpresso/kinetis-software-development-kit
Regards
Mark