I need to dump a huge number of characters per second to a PC from a simple micro controlled device rs232 port at the least for debugging purposes.
I can select and sucesfully transmit/receive at speeds up to 3M baud without significant data coruption on short packets, however for sustained data I get too many overrun errors for it to be usefull, even at 230K buad it is too much.
I am using a usb serial cable, on windows 7 (64) on an I7 system, so it should have plenty of cpu power to keep up. it only needs to service it twice per millisecond at 230kBaud to keep up.
I am programming with C# and have 3 threads, one for the UI, one for the port, and one for decoding the data.
I have a large data buffer, and I am calling read fast enough so that I get about 100 characters on average, the SerialPort object port buffer is set to "very big" (64k), with byte threshold set to 100, setting it to 1 makes no difference.
The 16 byte Fifo on the usb serial cable is set to 1, but this makes little diference.
From what I have read it is the device driver not reading the usb port fast enough, and the usb serial cable "chip" runs out of buffer.
I have tried different usb serial cables, but they have the same 16 byte buffer and the same problem.
Is there any way I can speed this up ? I would of th
View Complete Post