1 of 1 people found this helpful
If you check the API guide/comments just before the CyU3PUartSetTimeout() API, you will see this note:
"The API keeps the CPU spinning until the data transfer is completed, or the specified timeout period has elapsed. Therefore, it is not desirable to set a very large timeout for these operations."
It is not advisable to use this API with large timeout. One way to do this is to have a less timeout in CyU3PUartSetTimeout() API (Assume 10ms instead of 1 sec) and then do a CyU3PUartTransmitBytes/CyU3PUartReceiveBytes. If the API times out call CyU3PThreadSleep(10) and retry. This way your normal video stream won't stop.
Please check if it helps.
Thanks for your reply. I will try this and get back to you.
Ashlin Surey. A
Has your problem been solved?
Now we seem to have encountered the same problem as you.After a few days analysis, we found that using CyU3PUartTransmitBytes will result in a long delay time.This directly leads to video transmission jams and dropped frames.In addition, I don't know how to get CyU3PUartTransmitBytes to return TIMEOUT error message.
Can you tell me how you solved this problem?Maybe I can get the right solution from your experience.Thank you！