The standard 9 pins RS232 connector has 9 pins. Those are:
1 — DCD — Data Carrier Detected
2 — RxD — Receive Data
3 — TxD — Transmit Data
4 — DTR — Data Terminal Ready
5 — GND — Signal Ground
6 — DSR — Data Set Ready
7 — RTS — Request to Send Data
8 — CTS — Clear to Send Data
9 — RI — Ring Indicator
- If I need bi-directional communication it is obvious that I should connect RxD and TxD. What should I do with other signals/pins – connect to ground, left open, need to drive them with appropriate signals according to protocol?
- If I care only about uni-directional connection can I connect only RxD or TxD?
- What are the consequences of not using/connecting certain signals. What software on PC side expect to have those signals? What functionality will be lost?
NOTE 1: I am using here word "connect" in sense of logical connection -> for electrical connection I would require level shifter circuitry such as MAX232)
NOTE 2: I am pin limited on uC – I do not mind connecting any signals on the board (like pulling them up/down).
It will depend of the software that you're using.
A) In my case, as I develop my own PC software, I've never used other pins, only RxD, TxD and GND. So, in this case you can left other pins open. This is called as null modem without handshaking
B) Yes (assuming GND is being considered)
C) Again, it will depend of the software on PC side. Some softwares you can configure to not take care of hardware control. Others will require RTS/CTS handshaking, so you can do a null modem with loop back handshaking
Source of the pictures: RS232 serial null modem cable wiring