O protocolo UART, como Mattias explicou, é um protocolo assíncrono baseado em tempo. O que define os limites entre os bits é o tempo gasto desde o início do bit inicial. Portanto, o microcontrolador "amostrará" os bits (N+half)/baudrate
segundos após o início do bit. O meio bit é apenas para amostrar no meio dos bits, para que possa haver uma diferença de meio bit no tempo entre o receptor e o transmissor (lembre-se de que as diferenças são cumulativas e o pior caso ocorre no último bit de cada quadro, o que geralmente é, mas nem sempre, com largura de 8 bits, dependendo da configuração). A chave para fazê-lo funcionar é ter o receptor e o transceptor com taxas de transmissão o mais próximo possível.
Portanto, o microcontrolador conta o tempo entre cada bit para saber onde cada bit está dentro de um quadro. O próximo caractere entrará no próximo quadro. Quando cada quadro termina, o microcontrolador começa a ouvir o próximo quadro automaticamente; assim, quando o próximo bit inicial chegar, ele já sabe que deve iniciar um novo quadro. É assim que os caracteres são separados.
Além disso, acrescentarei que você não precisa de duas frequências para transmitir a um microcontrolador que recebe UART. Você pode usar uma única frequência como OOK em vez de duas frequências como FSK . Possui maior eficiência espectral e os circuitos são muito mais simples, já que você só precisa de um comutador de ondas portadoras como transmissor e um único detector de frequência como receptor, praticamente como código morse. Lembre-se de geralmente usar portadoras com frequências muito maiores que a taxa de transmissão, caso contrário, os circuitos mais simples não funcionarão corretamente.