To transmit the next byte you have to wait for your turn again. When you set the packet size to 1 you can only transmit one byte per USB packet. So your device will get a time sliced window and it is up to the driver to utilize this window effectively. The USB does transfers using packets and not a continuous stream as for example serial. The results that you observe are because of the way serial over USB works. So basically the speed scales with the byte-size. So, while using 64 byte packets, I end up with 3,8 KB/s, using 180 byte packets, it somewhat averages around 11,26 KB/s - and the main light went on, when I checked the speed for 1 byte packets -> around 64 byte/s!Īdding some math to it -> 11,52 KB/s divided by 180 equals to 64 byte/s. Oh my, found a quite good hint - my transfer rate is highly dependent on the size of the packets. I need to confirm a minimal speed of 11,2 KB/s, better speeds around 15-60 KB/s.īased on the datasheet, this should be no problem - based on reality, I am stuck at 3,8 KB/s - for now at least. I would have expected results like these:Īt 115200 baud -> effectively 11,520 byte/s or 11,52 KB/s Settings would be 115,200, 8N1, and 64 byte data-packet.
#GIGAWARE USB TO SERIAL DRIVER MAXIMUM RATE OR BAUD CODE#
I tested with my own code and with this tool here: While I am looking further into this, I would like to know, if someone here has comparable data. I've searched the web, but I could not find any comparable data, to prove or disprove this limitation.
While running some tests with an FT232R USBtoRS232 Chip, which should be able to manage speeds up to 3 Mbaud, I have the problem that my actual speed is only around 38 kbaud or 3,8 KB/s.