Los UARTs que se utilizan en los sistemas en serie del tipo RS232 funcionan muestreando la línea de datos en algún lugar a medio bit de acuerdo con una división del reloj de frecuencia base predefinido en baudios. Como tal, si los datos enviados y el receptor no están en la misma frecuencia, el "punto de muestra" se acercará más al borde del cuadro de bits en bits sucesivos.
Con un UART normal, la longitud de bits para un byte es de 10 u 11 bits. 1 inicio, 8 datos y 1 o 2 bits de parada. La mitad de un desplazamiento en el décimo bit se traduce en un error de 0.5 / 10 = 5%.
Sin embargo, en realidad su tolerancia es menor porque también necesita agregar la latencia de su período de frecuencia base que agregará un desplazamiento desde el borde anterior del bit de inicio. Cuanto mayor sea la frecuencia base, menor será el efecto que tenga.
En cuanto a usar un temporizador 555 para este propósito, no lo recomendaría a menos que planee tener un ajuste manual en el circuito 555.
A USART en la otra parte utiliza un método de control más complejo que intenta sincronizar la transmisión con los datos recibidos. Esto puede ser mediante el uso de un patrón de datos que tiene un reloj incorporado, mediante el uso de un reloj pasado o mediante algún tipo de bloqueo de fase en los bordes de datos recibidos. (Aunque podría decirse que este último es realmente pseudo-síncrono).