G
Guest
After some tests with a serial connection and the SerialPort class, I found
out that in hardware flow control, you have to manually stop sending data
when the CTS ligne goes low. I made some test and the SerialPort class
doesn't seem to react to the CTS signal. If you tell to send 1000 bytes, it
will send them no matter what the CTS level is.
The only way I found to make all this works is by waiting for
SerialPort.CtsHolding to become true and then send a single byte. And so on
and so forth until the complete buffer is sent. I also found out that the
Handshaking enumeration have a RequestToSend member but no "Hardware". So it
really seems that the SerialPort class only handle automatically the RTS line
and not the CTS line.
Am I right or is there a way to tell the SerialPort class to handle the CTS
signal, ie stop sending the bytes in the buffer momentarily until the CTS
line is up?
Etienne Fortin
out that in hardware flow control, you have to manually stop sending data
when the CTS ligne goes low. I made some test and the SerialPort class
doesn't seem to react to the CTS signal. If you tell to send 1000 bytes, it
will send them no matter what the CTS level is.
The only way I found to make all this works is by waiting for
SerialPort.CtsHolding to become true and then send a single byte. And so on
and so forth until the complete buffer is sent. I also found out that the
Handshaking enumeration have a RequestToSend member but no "Hardware". So it
really seems that the SerialPort class only handle automatically the RTS line
and not the CTS line.
Am I right or is there a way to tell the SerialPort class to handle the CTS
signal, ie stop sending the bytes in the buffer momentarily until the CTS
line is up?
Etienne Fortin