Como la mayoría de los sistemas digitales, un nivel de voltaje «alto» se utiliza para indicar un «1» lógico y un nivel de voltaje «bajo» se usa para indicar un «0» lógico. Dado que el protocolo UART no define voltajes o rangos de voltaje específicos para estos niveles, a veces a alto también se le llama «marca» mientras que a bajo se le llama «espacio». Note que en el estado de reposo (donde no se transmiten datos), la línea se mantiene alta. Esto permite una fácil detección de una línea o transmisor dañado.
Bits de inicio y de parada
Ya que el UART es asíncrono, el transmisor necesita indicar que los bits de datos están llegando. Esto se logra utilizando el bit de inicio. El bit de inicio es una transición del estado alto de reposo a un estado bajo, y seguido inmediatamente por bits de datos de usuario.
Después de que se terminan los bits de datos, el bit de parada indica el fin de datos de usuario. El bit de parada es una transición de regreso al estado alto o de reposo o permanece en el estado alto por un tiempo de bit adicional. Se puede configurar un segundo bit de parada (opcional), generalmente para darle tiempo al receptor de prepararse para la siguiente trama, pero esto no es común en la práctica.
Bits de datos
Los bits de datos son los datos de usuario o bits «útiles» y vienen inmediatamente después del bit de inicio. Puede haber de 5 a 9 bits de datos de usuario, aunque de 7 o 8 bits es lo más común. Estos bits de datos normalmente se transmiten primero con el bit menos importante.
Ejemplo:
si queremos mandar la «S» mayúscula en código ASCII de 7 bits, la secuencia de bits es 1 0 1 0 0 1 1. Primero y antes de enviarlos, invertimos el orden de los bits para ponerlos en el orden de bit menos importante, que es 1100101. Después de que se envía el último bit de datos, se utiliza el bit de parada para finalizar la trama y la línea regresa al estado de reposo.
- Código ASCII de 7 bits para «S» (0x52) = 1 0 1 0 0 1 1
- Orden de bits menos significativo = 1 1 0 0 1 0 1