Protokol UART, seperti dijelaskan Mattias, adalah protokol asinkron berbasis waktu. Apa yang mendefinisikan batas antara bit adalah waktu yang diambil dari awal bit awal. Jadi mikrokontroler akan "mencicipi" bit tersebut(N+half)/baudrate
detik setelah bit mulai dimulai. Setengah bit hanya untuk sampel di tengah bit sehingga dapat memiliki setengah perbedaan sedikit dalam waktu antara penerima dan pemancar (ingat bahwa perbedaan bersifat kumulatif dan kasus terburuk terjadi pada bit terakhir dari setiap frame, yang biasanya, tetapi tidak selalu, lebar 8-bit, tergantung pada konfigurasi). Kunci untuk membuatnya berfungsi adalah memiliki penerima dan transceiver dengan baudrate sedekat mungkin.
Jadi, mikrokontroler menghitung waktu antara setiap bit untuk mengetahui di mana setiap bit berada di dalam sebuah frame. Karakter selanjutnya akan masuk ke bingkai berikutnya. Ketika setiap frame berakhir, mikrokontroler mulai mendengarkan frame berikutnya secara otomatis, jadi ketika bit start berikutnya datang, ia sudah tahu ia harus memulai frame baru. Begitulah karakter dipisahkan.
Selain itu, saya akan menambahkan bahwa Anda sebenarnya tidak memerlukan dua frekuensi untuk mengirim ke mikrokontroler penerima-UART. Anda dapat menggunakan frekuensi tunggal sebagai OOK alih-alih dua frekuensi sebagai FSK . Ini memiliki efisiensi spektral yang lebih tinggi dan sirkuit lebih sederhana, karena Anda hanya memerlukan pengalih gelombang pembawa sebagai pemancar dan detektor frekuensi tunggal sebagai penerima, cukup mirip dengan kode morse. Ingatlah untuk umumnya menggunakan operator dengan frekuensi yang jauh lebih tinggi daripada baudrate, jika tidak sirkuit yang lebih sederhana tidak akan berfungsi dengan baik.