Can you explain the interaction of the RS232 signals (RTS, CTS, DTR, etc.). I need to write a software utility to transmit and receive characters between two computers, but I am unsure about the order of raising/lowering signals and checking for them. I also don’t quite understand them when I do.
How do I know when I have sent a character, and when do I know there is a character for me?
RS232 is the standard for communication between Data Terminal Equipment (DTE) and Data Circuit-Terminating Equipment (DCE). I’ve outlined what each of the signals you’ve mentioned do, as simply and briefly as I could:
- Request to send (RTS): Think of this one as raising your hand in class. You want to speak but you want to be recognized before you go ahead and transmit your information.
- Clear to send (CTS): I think of this signal as saying “Over” on a walkie-talkie to indicate that you’re done speaking and are now listening for the person’s reply on the other end.
- Data terminal ready (DTR): This signal indicates to the device that the DTE is on.
The simplest order for these signals would be DTR to RTS to (send data when received CTS) then CTS.