In a message dated 99-04-07 12:21:29 EDT, you write: > When using RTS/CTS handshaking, the sender raises RTS when it is ready to > send data. When the receiver detects that RTS has gone high, it should > raise CTS when it is ready to receive data. The receiver should lower CTS > to stop data transmission. > You are challenging me now! OK. From "Horowitz & Hill" (a great electronics bible; p724-725) ... A DTE asserts RTS and DTR when it is ready to receive, and a DCE asserts CTS and DSR when it is ready to receive. Note that the signal names make sense only as viewed by the DTE (eg: pin 2 is called "TD" even though DTE asserts it and DCE receives it). Thus the name of a pin isn't enough to tell you if its an input or output ... you also need to know whether the device thinks its a DTE or DCE. So. In reality you need to build a circuit with one output handshake and one input handshake. You will connect these two circuits to either pins 4 & 5 or 5 & 4 depending on whether the thing you are connected to is a DTE or a DCE (maybe it is labelled; or use a voltmeter - a DTE transmits on pin 2 & receives on pin 3; a DCE does the reverse). This is very similar to the problem with RX & TX ... do you have to cross pins 2 & 3 or not. In reality, the RS232 standard calls pin 2 "TX" whether it actually transmits or receives. Thus ... if your circuit receives on 2, then it will receive handshake on 4. If it receives on 3, it will receive handshake on 5. Hope that helps! Ian C.