The PIC microcontrollers have a UART with a TX and RX.
You can connect TX on one chip to RX on another chip.
I was reading about SIMPLEX and DUPLEX.
You can connect TX on one chip to RX on another chip.
This is SIMPLEX.
The TX transmits and RX receives.
If you had Chip A and Chip B you could wire
A.TX to B.RX B.TX to A.RX
The simple microcontrollers have a UART with a TX and RX. They support 5,7,8 and sometimes 9 bits.
5 bits for BAUDOT 7 bits + Parity 8 bits 9 bits , where the 9 bit indicates ADDRESS
The UART from 40 years ago did not support the 9 bit.
If you are sending 8 bit characters with the UART set to 8 bits, there is no spare bit for a second channel.
I had an idea.
If RS-232 serial had an extra bit it could be used to handshake.
HDLC used in ITU MTP Level 2 has the FIB and BIB bits.
FIB - Forward Indicator Bit BIB - Backward Indicator Bit
FSN - forward sequence number BSN - backward sequence number
The FIB is toggled and the BIB is toggled to respond. This allows a ACK or NACK.
The toggle protocol is important. If you have a SET / RESET protocol then A needs to let B write access.
RS-232 has the extra wires
DSR and DTR to act as signals to say powered up RTS, and CTS to say Request to Send and Clear to Send.
ASCII has control characters and XON and XOFF
Unfortunately UARTS do not have spare bits to carry a backward bit.
It would be possible to add extra bits to the Serial frame to carry the RTS and CTS signals.
The SLI telephone exchange had a protocol where the Peripheral Interface polled the cards, and the cards responded.
ITU MTP Level 2 HDLC has the FIB and BIB bits
I suppose you could use an escape
I suppose you could use 7 bits and re-purpose the Parity Bit
You could use 6 bits