Jika Anda berada dalam 1%, Anda harus OK.
Misalkan UART Anda menggunakan jam oversampling 16x, misalnya, Anda dapat mengaturnya menjadi 1.843.200 Hz hingga 16x oversample 115.200 bps. (oversampling seperti ini cukup umum) Hal ini memungkinkan UART menghitung 8 over-jam dari tepi jatuh bit mulai, sehingga dapat menemukan pusat sel bit ke dalam +/- satu periode jam berlebih, setelah yang dihitung 16 periode over-clock untuk menentukan kapan harus mengambil sampel data.
Jika Anda menganggap itu bisa mengenai pusat bit mulai, maka untuk menjaga pengambilan sampel data serial dalam sel bit yang benar di 8 bit data, frekuensi jam harus tetap antara (8-0.5) / 8 dan (8 + 0,5 ) / 8, atau +/- 6,25% dari bit rate yang dimaksudkan. Overclocking yang lebih tinggi semakin mendekati kondisi ideal mengenai memukul bit mulai, tetapi 8x atau 16x biasanya cukup dekat sehingga Anda dapat menganggap ketidakcocokan 5% akan bekerja.
Namun, Anda tidak dapat mengandalkan sisi lain dari frekuensi yang sempurna. Jika Anda menghubungkan perangkat yang 4% cepat ke perangkat yang 4% lambat, Anda akan mengalami masalah. Saya pernah mengalami setidaknya satu kasing di mana PC berjalan agak lambat, dan perangkat sedikit cepat, dan keduanya hanya bisa berkomunikasi secara marjinal, meskipun perangkat yang sama baik-baik saja dengan PC lain, dan PC baik-baik saja dengan yang lain perangkat. (O-cakupan ini sekitar 112kbps dan 119kbps) Untuk alasan itu ada baiknya mencoba menekan frekuensi nominal sedekat mungkin. Saya belum pernah melihat sesuatu dalam 2% dari nominal memiliki masalah.
Hal yang biasa dilakukan adalah menggunakan laju jam master yang memberikan kelipatan angka seluruh dari laju pengambilan sampel berlebih UART yang dimaksudkan dengan laju baud rate. Misalnya, jika Anda menginginkan CPU yang berjalan sekitar 8MHz, Anda mungkin menggunakan osilator 7.3728MHz, yang dapat dibagi dengan 4 untuk mendapatkan 1.8432MHz, yang kebetulan persis 16 kali 115200.