Az egész matematika:
Első bit 5%-késés, második bit 10%, a harmadik 15%, a nyolcadik 40% késés, paritás 45% késés ha van, a stop bit meg 50% késés.
A probléma az összeadódás miatt van: 5%-os késésnél már az utolsó bit 40%-kal lesz távolabb, mint kellene. Ez a fő probléma és nem az, hogy milyen gyakran küldesz adatot.
Megoldás? Ha spórolni akarsz a kristályon 100 Ft-ot, akkor használj 5 bites kommunikációt, paritás nélkül, 1.5 stop bittel.
Ebben az esetben 25%-os késés, vagy sietés a maximum, ami még mindig brutális, de a 40%-nál azért jobb.
Ha persze kemény fiú vagy és csakazértis RC oszcillátorral akarsz UART-olni, mert ugyebár senki se dumáljon bele abba ahogy az ember UART-ol...
Szóval: a kommunikációt 0xAA jellel kezded, amiből a vevő kiszámolja az egyes bitek között eltelt időt, ebből az UART tényleges frekvenciáját. Beállítod a frekvenciát, megvárod a következő start bitet és más kész is az RC oszcillátoros csevegés.
Vagy: a legelső byte fogadásánál 2400 baudon szoftverből UART-olsz kezdetben és a tényleges idő alapján állítod be a frekvenciát a hardveren.
Mindenesetre számomra a kristály a legegyszerűbb, de minden lehetséges.