History question - why are logic levels inverted between TTL and RS232?
This is partly speculation, but here goes:
Originally, asynchronous serial interfaces were current loops. In order to make things like detecting wiring faults easier, the &quot;idle&quot; state was defined as current flowing, and the &quot;start&quot; bit was a brief interruption of the current.
The first devices were strictly electromechanical, but as soon as digital electronics became common enough, there was a desire to use the teletypes for I/O. It would make sense, then, that the logic that drives the current loop would be &quot;on&quot;, or high for the same condition, because that would be the obvious way to drive, say, an NPN transistor.
Now, switch to voltage signaling. The telephone line sits at a negative voltage with respect to ground, because it was discovered early on that this reduced electrolytic corrosion in the wires caused by moisture.
So, for the same reason, the &quot;idle&quot; state in RS-232 was defined to be the negative voltage, because that is the state that the line is in most of the time.
Therefore, the translation between logic and RS-232 needed to be inverting.