This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358: Loss of data during uart communication

Part Number: AM3358

Hi,

I am using Sitara AM335x processor for our custom board. Its UART3 Tx and Rx Pins are connected with ESP32 BT chip for communication to/from Host.
We are sending/receiving request/response to/from Host application on Windows 10 platform.
Basically our BT communication is request response type. Host is sending request to our device and our firmware application which runs on device
sends expected response to received request. We are doing successful BT communication for small amount of data response[upto 1000 Bytes],
But for large size of data[i.e.above 3000 bytes] some response bytes[first 1-2 bytes] gets corrupted while sending response from device.
If we are using delay() library function all bytes received correctly to Windows host from Device.
I have used starterware library as a reference to develop bluetooth driver.


Though I am using UARTTxFIFOLevelGet(BT_UART_CONSOLE_BASE)) function to check Tx fifo level before writing data over UART, I am getting some corrupted bytes in host side.
Instead of this API, if I use a delay of 1ms between each consecutive frame transmission all bytes are received correctly at host side.

Please let me know possible reason/solution behind this behavior.

Below is the block diagram of our use case:

Regards,

Suraj