Si está dentro del 1%, debería estar bien.
Suponga que su UART usa un reloj de sobremuestreo de 16x, por ejemplo, puede configurarlo a 1,843,200 Hz a 16x sobremuestreo de 115,200 bps. (un sobremuestreo como este es bastante común) Esto permite que el UART cuente 8 over-relojes desde el borde descendente del bit de inicio, para que pueda ubicar el centro de las celdas de bit dentro de +/- un período del over clock que cuenta 16 períodos del reloj para determinar cuándo muestrear datos.
Si supone que puede alcanzar el centro del bit de inicio, para mantener el muestreo de datos en serie en las celdas de bits correctas en 8 bits de datos, la frecuencia del reloj debe permanecer entre (8-0.5) / 8 y (8 + 0.5 ) / 8, o +/- 6.25% de la tasa de bits prevista. Un overclocking más alto se acerca a la condición ideal de golpear el centro del bit de inicio, pero 8x o 16x generalmente está lo suficientemente cerca como para suponer que un 5% de desajuste funcionará.
Sin embargo, no puede contar con que el otro lado tenga una frecuencia perfecta. Si conecta un dispositivo que es 4% rápido a un dispositivo que es 4% lento, tendrá un problema. Me he encontrado con al menos un caso en el que una PC funcionaba un poco lento y un dispositivo un poco rápido, y los dos solo podían comunicarse marginalmente, aunque el mismo dispositivo estaba bien con otras PC, y la PC estaba bien con otros dispositivos. (O-alcance estos a aproximadamente 112 kbps y 119 kbps) Por esa razón, es bueno tratar de alcanzar la frecuencia nominal lo más cerca posible. Nunca he visto que algo dentro del 2% del nominal tenga un problema.
Lo habitual es utilizar una frecuencia de reloj principal que proporcione un número entero múltiplo de la frecuencia de sobremuestreo UART prevista multiplicada por la velocidad en baudios. Por ejemplo, si desea una CPU que funcione a aproximadamente 8MHz, puede usar un oscilador de 7.3728MHz, que se puede dividir por 4 para obtener 1.8432MHz, que es exactamente 16 veces 115200.