Bob et al,
I tried to research the serial handshaking questions on MSDN to learn about
DSR vs CTS control in reference to the reports received with USB-to-Serial
devices. I think this may come back to the capabilities of the comm library
DecoderPro uses? The Windows SDK uses a DCB to control serial port
function. The following is the description of members of the DCB structure
relevant to flow control from MSDN. This info does seem to establish that
separate control for CTS and DSR is provided by the SDK. Whether the
DecoderPro serial comm library supports access to this is another question.
Robin Becker
Tucson, AZ
following info from
dcb_str.asp
fOutxCtsFlow
If this member is TRUE, the CTS (clear-to-send) signal is monitored for
output flow control. If this member is TRUE and CTS is turned off, output is
suspended until CTS is sent again.
fOutxDsrFlow
If this member is TRUE, the DSR (data-set-ready) signal is monitored for
output flow control. If this member is TRUE and DSR is turned off, output is
suspended until DSR is sent again.
fDtrControl
DTR (data-terminal-ready) flow control. This member can be one of the
following values.
DTR_CONTROL_DISABLE Disables the DTR line when the device is opened and
leaves it disabled.
DTR_CONTROL_ENABLE Enables the DTR line when the device is opened and leaves
it on.
DTR_CONTROL_HANDSHAKE Enables DTR handshaking. If handshaking is enabled, it
is an error for the application to adjust the line by using the
EscapeCommFunction function.
fDsrSensitivity
If this member is TRUE, the communications driver is sensitive to the state
of the DSR signal. The driver ignores any bytes received, unless the DSR
modem input line is high.
fRtsControl
RTS (request-to-send) flow control. This member can be one of the following
values.
RTS_CONTROL_DISABLE Disables the RTS line when the device is opened and
leaves it disabled.
RTS_CONTROL_ENABLE Enables the RTS line when the device is opened and leaves
it on.
RTS_CONTROL_HANDSHAKE Enables RTS handshaking. The driver raises the RTS
line when the "type-ahead" (input) buffer is less than one-half full and
lowers the RTS line when the buffer is more than three-quarters full. If
handshaking is enabled, it is an error for the application to adjust the
line by using the EscapeCommFunction function.
RTS_CONTROL_TOGGLE Windows NT/2000/XP: Specifies that the RTS line will be
high if bytes are available for transmission. After all buffered bytes have
been sent, the RTS line will be low.