Se você estiver dentro de 1%, você deve estar bem.
Suponha que o seu UART use um relógio de oversampling de 16x, por exemplo, você pode configurá-lo entre 1.843.200 Hz e 16x de 115.500 bps. (uma amostragem excessiva como essa é bastante comum) Isso permite que o UART conte 8 overclocks da borda de queda do bit inicial, para localizar o centro das células do bit dentro de +/- um período do overclock, após que conta 16 períodos do overclock para determinar quando coletar dados.
Se você presumir que ele pode atingir o centro do bit inicial, para manter a amostragem de dados seriais nas células de bits corretas em 8 bits de dados, a frequência do relógio deve permanecer entre (8-0,5) / 8 e (8 + 0,5 ) / 8 ou +/- 6,25% da taxa de bits pretendida. Um overclock mais alto aproxima-se da condição ideal de atingir o centro do bit inicial, mas 8x ou 16x geralmente estão próximos o suficiente para que você possa supor que uma incompatibilidade de 5% funcionará.
No entanto, você não pode contar com o outro lado perfeitamente na frequência. Se você conectar um dispositivo 4% mais rápido a um dispositivo 4% mais lento, terá um problema. Encontrei pelo menos um caso em que um PC estava um pouco lento, e um dispositivo um pouco rápido, e os dois só conseguiam se comunicar marginalmente, embora o mesmo dispositivo funcionasse bem com outros PCs e o PC funcionasse com outros dispositivos. (O escopo é de aproximadamente 112kbps e 119kbps). Por esse motivo, é bom tentar atingir a frequência nominal o mais próximo possível. Eu nunca vi nada dentro de 2% da nominal ter um problema.
O usual é usar uma taxa de clock mestre que forneça um número inteiro múltiplo da taxa de sobre-amostragem UART pretendida vezes a taxa de transmissão. Por exemplo, se você deseja uma CPU rodando a cerca de 8 MHz, use um oscilador de 7,3728 MHz, que pode ser dividido por 4 para obter 1,8432 MHz, que é exatamente 16 vezes 115200.