( locsemege | 2019. 08. 04., v – 10:33 )

A katalóguslap szerint +/- 150 ns hiba megengedett csak, ami valóban nem sok, ha jól számolom, 12 %. Viszont egy MCU egyetlen gépi ciklusa ennél gyakorta hosszabb - nyilván attól függően, milyen gyorsan van hajtva.

Itt vagy teljesen hardware-es időzítés kell - nagyjából a PIC-ek CLC moduljával realizálható feladat -, vagy úgy kell megírni a stream küldését, hogy az adat felszedése memóriából, netán kiszámítása a bit időzítésének része legyen. Mindezt úgy, hogy ha elágazás van a kódban - s jó eséllyel van -, akkor a különböző ágakon pontosan ugyanannyi legyen a futásidő. Nem lehetetlen, de elég kellemetlen, és tipikusan ez az a feladat, amelyet kizárólag assembly-ben lehet megírni.

A hardware-es támogatás nagyon sokat tud itt segíteni.

Szerk.: Jobban végiggondolva ezzel a roppant merev időzítéssel ez egy igen kellemetlen, nem túl végiggondolt protokoll. Ha lenne címe az eszközöknek, szebb lenne az élet.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE