UART

UART står for Universal Asynchronous Receiver/Transmitter. Det er en meget almindelig og enkel måde at sende tekst, kommandoer og data mellem mikrokontrollere og eksterne moduler.

Den simple forbindelse

UART er normalt en punkt-til-punkt-forbindelse. De to enheder krydser TX og RX:

Officiel Arduino-skitse af UART-forbindelse mellem to Arduino-kort
TX fra den ene enhed forbindes til RX på den anden, og omvendt. GND skal være fælles.

UART har ikke en fælles clockledning. Sender og modtager skal derfor bruge samme serielle hastighedsindstilling og frame-format, for eksempel 9600, 8 databits, ingen paritet og 1 stopbit.

Hvad UART gør

Hvorfor bruges UART?

På Arduino Uno

Vigtige begreber

En UART-frame

En byte sendes som en sekvens af bits. En typisk frame består af et startbit, 8 databits, eventuelt et paritetsbit og et eller to stopbits.

Officiel Arduino-figur af UART-frame med startbit, databits, paritet og stopbit
UART-frame-formatet fra Arduino’s officielle UART-guide. Startbit og stopbit markerer rammen, mens databits bærer indholdet.

Indstillingerne skal passe sammen

Hvis de to enheder bruger forskellige UART-indstillinger, bliver data fortolket forkert. Den serielle hastighedsindstilling, antal databits, paritet og antal stopbits skal derfor passe sammen.

Hastighed i byte

Med den almindelige indstilling 8N1 bruger hver data-byte 10 sendeslots: ét startbit, 8 databits og ét stopbit. Derfor bliver byte-raten cirka en tiendedel af den valgte serielle indstilling:

Paritet, ekstra stopbit, linjepauser og tekstens linjeskift bruger yderligere kapacitet. Derfor er den mængde nyttedata, programmet modtager, typisk lidt lavere.

Husk

Kilder

De lokale figurer er hentet fra Arduino-dokumentationens offentlige kildearkiv. Krediteringen og CC BY-SA 4.0-licensen skal bevares ved viderebrug.