65 ARK-3400 User ManualAppendix C Application Notesbetween the two devices which reduces the bandwidth. The reduction of bandwidth isin most cases however not so astonishing that it is a reason to not use it.Two bytes have been predefined in the ASCII character set to be used with softwareflow control. These bytes are named XOFF and XON, because they can stop andrestart transmitting. The byte value of XOFF is 19, it can be simulated by pressingCtrl-S on the keyboard. XON has the value 17 assigned which is equivalent to Ctrl-Q.Using software flow control is easy. If sending of characters must be postponed, thecharacter XOFF is sent on the line, to restart the communication again XON is used.Sending the XOFF character only stops the communication in the direction of thedevice which issued the XOFF.This method has a few disadvantages. One is already discussed: using bytes on thecommunication channel takes up some bandwidth. One other reason is more severe.Handshaking is mostly used to prevent an overrun of the receiver buffer, the buffer inmemory used to store the recently received bytes. If an overrun occurs, this affectsthe way new incoming characters on the communication channel are handled. In theworst case where software has been designed badly, these characters are thrownaway without checking them. If such a character is XOFF or XON, the flow of com-munication can be severely damaged. The sender will continuously supply new infor-mation if the XOFF is lost, or never send new information if no XON was received.This also holds for communication lines where signal quality is bad. What happens ifthe XOFF or XON message is not received clearly because of noise on the line? Spe-cial precaution is also necessary that the information sent does not contain the XONor XOFF characters as information bytes.Therefore, serial communication using software flow control is only acceptable whencommunication speeds are not too high, and the probability that buffer overruns ordata damage occur are minimal.C.1.3 Hardware flow controlHardware flow control is superior compared to software flow control using the XONand XOFF characters. The main problem is, that an extra investment is needed.Extra lines are necessary in the communication cable to carry the handshaking infor-mation.Hardware flow control is sometimes referred to as RTS / CTS flow control. This termmentions the extra input and outputs used on the serial device to perform this type ofhandshaking. RTS / CTS in its original outlook is used for handshaking between acomputer and a device connected to it such as a modem.First, the computer sets its RTS line to signal the device that some information ispresent. The device checks if there is room to receive the information and if so, it setsthe CTS line to start the transfer. When using a null modem connection, this is some-what different. There are two ways to handle this type of handshaking in that sitiua-tion.One is, where the RTS of each side is connected with the CTS side of the other. Inthat way, the communication protocol differs somewhat from the original one. TheRTS output of computer A signals computer B that A is capable of receiving informa-tion, rather than a request for sending information as in the original configuration.This type of communication can be performed with a null modem cable for full hand-shaking. Although using this cable is not completely compatible with the original wayhardware flow control was designed, if software is properly designed for it, it canachieve the highest possible speed because no overhead is present for requestingon the RTS line and answering on the CTS line.In the second situation of null modem communication with hardware flow control, thesoftware side looks quite similar to the original use of the handshaking lines. TheCTS and RTS lines of one device are connected directly to each other. This means,