- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
we use the CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kit and have some problems with the UartLpRegMode example application (FX3 SDK 1.3.4). When we send data from the host pc to the fx3 via UART, there is a loss of data. When we send for example the string "1234567890" with 115200k Baud every 100ms, we sometimes just receive "1234" on the pc and the rest of the data is lost.
1. Are there any known issues concerning UART transfers? I think the fx3 receives the wrong data.
2. When we set the uart tx timeout to 0xFFFFFFFF CyU3PUartSetTimeout (1, 0xFFFFFFFF), the CyU3PUartTransmitBytes() function never returns. Is that ok?
Thanks in advance
Marc
Solved! Go to Solution.
- Tags:
- fx3 uart
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I didn't change anything in the default demo app. You can reproduce the problem if you send the string "1234567890" with 115k Baud every 10ms and look at the data looped back. In the looped back data sometimes characters are missing.
I changed the tx timeout to 1 and then everything works fine. I think that while waiting for data to be transmitted, no data can be received because Mutex is locked. That's why data was lost.
CyU3PUartSetTimeout (1, 50000); -> CyU3PUartSetTimeout (1, 1);
So consider this as solved.....
Marc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Marc,
- Can you share the changes you made to the default firmware? And also share the UART prints that you are getting.
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I didn't change anything in the default demo app. You can reproduce the problem if you send the string "1234567890" with 115k Baud every 10ms and look at the data looped back. In the looped back data sometimes characters are missing.
I changed the tx timeout to 1 and then everything works fine. I think that while waiting for data to be transmitted, no data can be received because Mutex is locked. That's why data was lost.
CyU3PUartSetTimeout (1, 50000); -> CyU3PUartSetTimeout (1, 1);
So consider this as solved.....
Marc