Using my own program in PC side, I am polling data from a device in half duplex way(like in old walkie-talkie style) through USB port. This is serial communication (Baud rate is 9600 bits/s, 8 data bits, 1 stop bit, no parity). So one cannot simultaneously send and receive messages. The PC side is master, the device side is slave. When the device(using and embedded system) receives certain byte array, it processes it in a few ms of time and then sends back a byte array in response to PC(my program then processes it).
The manufacturer told me to add delay between sending and receiving such telegrams. And the protocol is fixed at 9600 baud rate meaning that one byte takes around 1ms to send or receive. So if I send 10 bytes as command and receive between 10 and 50 bytes I would need to introduce minimum 60ms of delay. But to be on the safe side I want to use 300ms delay or even more.
My question is, how long the received data can wait at the received buffer. I mean is there an upper limit for the delay time I can use in my case? And is that something to do with timeout?