Modern consumer personal computers (PCs) have largely replaced serial ports with higher-speed standards, primarily USB.
Server computers may use a serial port as a control console for diagnostics, while networking hardware (such as routers and switches) commonly use serial console ports for configuration, diagnostics, and emergency maintenance access.
To interface with these and other devices, USB-to-serial converters can quickly and easily add a serial port to a modern PC.
Modern devices use an integrated circuit called a UART to implement a serial port.
Very low-cost systems, such as some early home computers, would instead use the CPU to send the data through an output pin, using the bit banging technique.
These early home computers often had proprietary serial ports with pinouts and voltage levels incompatible with RS-232.
Before large-scale integration (LSI) made UARTs common, serial ports were commonly used in mainframes and minicomputers, which would have multiple small-scale integrated circuits to implement shift registers, logic gates, counters, and all the other logic needed.
Operating systems usually create symbolic names for the serial ports of a computer, rather than requiring programs to refer to them by hardware address.
TTY is a common trademark-free abbreviation for teletype, a device commonly attached to early computers' serial ports, and * represents a string identifying the specific port; the syntax of that string depends on the operating system and the device.
Serial computer mice may draw their operating power from the received data or control signals.
The configuration for serial ports designed to be connected to a PC has become a de facto standard, usually stated as 9600/8-N-1.
This is 16 times the fastest bit rate, and the serial port circuit can easily divide this down to lower frequencies as required.
Some special-purpose protocols such as MIDI for musical instrument control, use serial data rates other than the teleprinter standards.
Some serial port implementations can automatically choose a bit rate by observing what a connected device is sending and synchronizing to it.
The order of bits is not usually configurable within the serial port interface but is defined by the host system.
The parity bit in each character can be set to one of the following: Aside from uncommon applications that use the last bit (usually the 9th) for some form of addressing or special signaling, mark or space parity is uncommon, as it adds no error detection information.
To allow detection of messages damaged by line noise, electromechanical teleprinters were arranged to print a special character when received data contained a parity error.
[24] Flow control is used in circumstances where a transmitter might be able to send data faster than the receiver is able to process it.
RTS and CTS are used to control data flow, signaling, for instance, when a buffer is almost full.
Per the RS-232 standard and its successors, DTR and DSR are used to signal that equipment is present and powered up so are usually asserted at all times.
Later, after the receiver has emptied its buffers, it sends an XON character to tell the sender to resume transmission.
The advantage of hardware handshaking is that it can be extremely fast, it works independently of imposed meaning such as ASCII on the transferred data and it is stateless.
Approaches for preventing this include reducing the speed of the connection so that the receiver can always keep up, increasing the size of buffers so it can keep up averaged over a longer time, using delays after time-consuming operations (e.g. in termcap) or employing a mechanism to resend data which has not been received correctly (e.g. TCP).