RS232 without hardware handshaking - disadvantages?

Im working on a project that requires RS232 connection to another, remote microcontroller.

Ive noticed that the majority (if not all) Arduino based serial comms links, even those using true RS232 via a level converter/line driver such as a MAX232CPE, use only the TxD and RxD lines, with no attempt at hardware handshaking,

Is there any disadvantage to this method, over a link of under 5m, but in a potentially high noise/RF environment?

Not having hardware handshaking would save me several very valuable connections!

Im also planning to use a more advanced line driver (MAX3238) which includes a logic output that will indicate to my local microcontroller whether the remote is even physically connected/powered on (a great feature that will save me even more connections and/or code to interrogate the other device to see if its present), and if not will put itself into a very low power sleep mode

SO does no one 'do' hardware handshaking anymore?


As far as I know the handshaking doesn't make it more robust. It just made it easy for the processes because it could be flagged of an event on the bus. Which was useful in the days of slow processors and low memory. Device A would not flood device B with data if it was not ready to take data.

But these days that's not really a problem. Even with an Arduino you can handle data pretty fast. So if the other end doesn't expect handshaking (or you design both) I wouldn't implement it.

Kind of handshake will be required for half duplex lines, like RS-485, to tell the drivers when to switch between send and receive mode. But even then it's easier to use full duplex connections, with the same amount of wires than with half duplex and hardware handshake.

Great, thanks guys,

Pretty much as I suspected then. Thats great, leaves me with spare external connections I can press into use for other stuff. Theres a physical limit of 7 connections in this project due to having to use an existing connector through a hermetically sealed bulkhead.


So you have 4 left then, with Rx/Tx/Gnd connected. Unless you just have 1-way comm’s to (or from) the Arduino.