Como na maioria dos sistemas digitais, um "alto" nível de tensão é utilizado para indicar um "1" lógico e um "baixo" nível de tensão é utilizado para indicar um "0" lógico. Uma vez que o protocolo UART não define tensões ou faixas de tensão específicas para esses níveis, algumas vezes o nível alto é chamado "marca", enquanto o nível baixo é chamado "espaço". Observe que, no estado inativo (em que nenhum dado está sendo transmitido) a linha é mantida alta. Isso permite detectar facilmente danos em uma linha ou em um transmissor.
Bits iniciais e finais
Devido ao UART ser assíncrono, o transmissor precisa sinalizar que os bits de dados estão chegando. Isso é possível ao utilizar o bit inicial. O bit inicial é uma transição do estado inativo para um estado baixo, imediatamente seguido pelos bits de dados do usuário.
Depois que os bits de dados tiverem terminado, o bit final indica o fim dos dados do usuário. O bit de parada é uma transição de volta para o estado alto ou inativo, ou a permanência no estado alto for um tempo de bit adicional. Um segundo bit final (opcional) pode ser configurado, geralmente para dar ao receptor tempo para se preparar para o próximo frame, mas essa é uma prática relativamente incomum.
Bits de dados
Os bits de dados são dados de usuário ou bits "úteis" e vêm imediatamente depois do bit inicial. Pode haver de 5 a 9 bits de dados de usuários, apesar de ser mais comum haver 7 ou 8 bits. Esses bits de dados geralmente são transmitidos com o bit menos significativo primeiro.
Exemplo:
Se quisermos enviar a letra maiúscula “S” em um ASCII de 7 bits, a sequência de bits é 1 0 1 0 0 1 1. Primeiro invertemos a ordem dos bits para colocá-los na ordem menos significativa, ou seja, 1 1 0 0 1 0 1, antes de enviá-los. Depois que o último bit de dados é enviado, o bit final é utilizado para terminar o frame e a linha retorna ao estado inativo.
- 7 bits ASCII 'S' (0x52) = 1 0 1 0 0 1 1
- Ordem LSB = 1 1 0 0 1 0 1