

The '1's and '0's are inverted from each other. The voltages of the signals look different on each end, but the speed (bps) does not change.ġ. True or false: Data is sent from a PC's RS-232 port at 9600 bits-per-second (bps), it's converted to TTL by a MAX232 before reaching a microcontroller. What are the two main differences between RS-232 and TTL signals?Ģ.

With the above information at hand, here's a quick quiz to test your shiny new knowledge:ġ. Less expensive solutions, like our RS-232 Shifter, use transistors or inverters to flip the signals, and charge pumps to get the voltages high enough to be RS-232 compliant: Maxim IC just happened to be the first to market with this neato device (decades ago!) so out of habit, we call all ICs that do similar jobs 'MAX-232s'. There are many generic derivatives of the MAX-232. The most common, and easiest solution is just plugging a MAX-232 in between the two devices: There are a handful of solutions to this problem of voltage converting and inverting.
TRANSMIT DATA SERIAL
To connect these two ports you not only have to invert the signals, but you also have to deal with regulating the potentially harmful RS-232 voltages to something that won't destroy a microcontroller's serial pins. So, you may see where the problem lies in interfacing these two signals. This timing diagram shows both a TTL (bottom) and RS-232 signal sending 0b01010101 This means that an RS-232 signal can generally travel longer physical distances than their TTL counterparts, while still providing a reliable data transmission.

The more extreme voltages of an RS-232 signal help to make it less susceptible to noise, interference, and degradation. On most PCs these signals swing from -13 to +13V. By the RS-232 standard a logic high ('1') is represented by a negative voltage – anywhere from -3 to -25V – while a logic low ('0') transmits a positive voltage that can be anywhere from +3 to +25V. The two differ solely at a hardware level. RS-232 signals are similar to your microcontroller's serial signals in that they transmit one bit at a time, at a specific baud rate, with or without parity and/or stop bits. The serial port on your computer (if it's lucky enough to have one, they're quickly becoming a relic) complies with the RS-232 ( Recommended Standard 232) telecommunications standard. A logic high ('1') is represented by Vcc, while a logic low ('0') is 0V. Serial communication at a TTL level will always remain between the limits of 0V and Vcc, which is often 5V or 3.3V. This method of serial communication is sometimes referred to as TTL serial (transistor-transistor logic). UARTs transmit one bit at a time at a specified data rate (i.e. Most microcontrollers these days have built in UARTs (universally asynchronous receiver/transmitter) that can be used to receive and transmit data serially.
TRANSMIT DATA SOFTWARE
These two devices are compatible from a software perspective, however you can't just hook a microcontroller up to a computer because the hardware interfaces are not compatible. Serial is very easy to implement, and it allows you to send/receive any data you need from your microcontroller to a computer's serial port so it can be viewed using a terminal emulator. One of the tools we use most when debugging our projects is serial input/output.
