UART w praktyce - jak działa i jak uniknąć błędów

Leonard Wojciechowski .

12 listopada 2026

Płytka drukowana z portami USB i złączami. To jest przykład, jak działa UART w praktyce.

Gdy mikrokontroler ma porozumieć się z komputerem, czujnikiem albo modułem komunikacyjnym, często wystarczą trzy przewody i dobrze ustawione parametry transmisji. UART to jeden z najprostszych interfejsów szeregowych, ale właśnie przez prostotę bywa mylony z RS-232, RS-485 albo USB. Wyjaśniam, jak działa, jak wygląda ramka danych, gdzie wykorzystuje się go w automatyce oraz jakie błędy najczęściej uniemożliwiają komunikację.

UART przesyła dane szeregowo bez osobnej linii zegara

  • UART to sprzętowy interfejs do asynchronicznej transmisji szeregowej.
  • Do podstawowej komunikacji wystarczą linie TX, RX i GND.
  • Oba urządzenia muszą mieć zgodne ustawienia, najczęściej 9600 lub 115200 Bd, 8N1.
  • UART nie określa poziomów elektrycznych. Może współpracować z logiką 3,3 V, 5 V, RS-232 albo RS-485 za pomocą odpowiednich układów.
  • Najczęstsze przyczyny problemów to zła prędkość, brak wspólnej masy i niezgodne napięcia.

UART, czyli prosty kanał komunikacji między urządzeniami

Skrót UART pochodzi od angielskiego określenia Universal Asynchronous Receiver/Transmitter, czyli uniwersalnego nadajnika i odbiornika asynchronicznego. W praktyce jest to peryferium sprzętowe w mikrokontrolerze, sterowniku lub komputerze, które zamienia dane równoległe na szeregowy strumień bitów i odwrotnie.

Transmisja jest asynchroniczna, ponieważ urządzenia nie przesyłają osobnego sygnału zegarowego. Odbiornik rozpoznaje początek znaku na podstawie bitu startu i korzysta z wcześniej ustalonej prędkości. Dzięki temu połączenie jest proste, tanie i łatwe do uruchomienia.

Podstawowy wariant wykorzystuje dwie linie danych. TX służy do nadawania, a RX do odbioru. W typowym połączeniu TX jednego urządzenia łączę z RX drugiego, RX z TX, a masy obu układów łączę przewodem GND. Bez wspólnego punktu odniesienia komunikacja może działać niestabilnie albo nie zadziałać wcale.

Jak wygląda transmisja danych przez UART

UART przesyła dane w postaci ramek. Linia w stanie spoczynku pozostaje zwykle w stanie wysokim. Nadawanie rozpoczyna się od bitu startu, który zmienia stan linii na niski. Potem pojawiają się bity danych, opcjonalny bit parzystości oraz jeden lub dwa bity stopu.

Najpopularniejsze ustawienie 8N1

W dokumentacji często pojawia się zapis 8N1. Pierwsza cyfra oznacza 8 bitów danych, litera N brak kontroli parzystości, a ostatnia cyfra jeden bit stopu. Taka konfiguracja jest bardzo częsta w mikrokontrolerach, modułach GPS, modemach, konwerterach USB-UART i portach serwisowych sterowników.

Przykładowa ramka 8N1 zawiera łącznie 10 bitów: jeden startu, osiem danych i jeden stopu. Przy szybkości 9600 Bd przesłanie pojedynczego znaku zajmuje około 1,04 ms, więc praktyczna przepustowość wynosi w przybliżeniu 960 znaków na sekundę. Przy 115200 Bd jest to około 11 520 znaków na sekundę, choć rzeczywista wartość zależy od formatu danych i oprogramowania.

Co oznaczają podstawowe parametry

Parametr Znaczenie Przykład
Baud rate Prędkość transmisji symboli, zwykle utożsamiana z liczbą bitów na sekundę 9600, 19200, 115200
Liczba bitów danych Liczba bitów opisujących przesyłany znak 7, 8 lub 9
Parzystość Prosta kontrola wykrywania części błędów transmisji None, Even, Odd
Bity stopu Kończą ramkę i dają odbiornikowi czas na jej rozpoznanie 1 lub 2

Oba urządzenia muszą mieć ustawione dokładnie te same parametry. Samo podłączenie przewodów nie wystarczy. Gdy nadajnik pracuje z ustawieniem 9600 8N1, a odbiornik oczekuje 115200 8N1 albo 9600 7E1, na terminalu zobaczę zwykle przypadkowe znaki, brak odpowiedzi lub błędy ramki.

UART a poziomy napięć i popularne standardy

Najczęstsze nieporozumienie polega na traktowaniu UART jako kompletnego standardu elektrycznego. UART opisuje przede wszystkim sposób kodowania i przesyłania danych, ale nie narzuca jednego napięcia ani odporności przewodów na zakłócenia.

UART TTL i logika 3,3 V lub 5 V

W mikrokontrolerach sygnały UART mają zwykle poziomy logiczne 3,3 V albo 5 V. Taki interfejs dobrze sprawdza się na płytce i przy krótkich przewodach, ale nie jest dobrym wyborem do prowadzenia sygnału przez halę produkcyjną. Dłuższy przewód może zbierać zakłócenia, a podłączenie urządzeń o różnych napięciach może uszkodzić wejście.

Przed połączeniem sprawdzam trzy rzeczy: poziom logiczny, maksymalne napięcie wejścia oraz wspólną masę. Do komunikacji między układem 5 V i 3,3 V często potrzebny jest konwerter poziomów logicznych.

RS-232 i RS-485 korzystają z UART, ale nie są tym samym

RS-232 i RS-485 to standardy warstwy fizycznej. Określają między innymi sposób przesyłania sygnału, poziomy napięć, rodzaj przewodów i odporność na zakłócenia. UART może dostarczać dane do układu MAX232, transceivera RS-485 albo podobnego nadajnika, który dopiero przygotowuje sygnał do transmisji w konkretnym standardzie.

Rozwiązanie Typowe zastosowanie Najważniejsza cecha
UART TTL Mikrokontrolery, moduły, debugowanie Proste połączenie na krótkim dystansie
RS-232 Starsze komputery, urządzenia serwisowe, pojedyncze połączenia Lepsza odporność i większe poziomy napięć
RS-485 Automatyka, sterowniki PLC, sieci urządzeń Transmisja różnicowa i możliwość budowy magistrali
USB-UART Połączenie komputera z elektroniką Konwerter między USB a sygnałem UART

Jeżeli urządzenie przemysłowe ma złącze opisane jako RS-485, nie podłączam do niego bezpośrednio pinów 3,3 V UART. Potrzebny jest transceiver RS-485. W przeciwnym razie można nie tylko stracić komunikację, ale też uszkodzić port.

Gdzie wykorzystuje się UART w automatyce

UART spotyka się w wielu miejscach, choć często nie jest widoczny dla użytkownika końcowego. W sterownikach i modułach służy do wymiany komend, odczytu danych pomiarowych, aktualizacji oprogramowania oraz prowadzenia diagnostyki.

  • Port serwisowy sterownika pozwala podejrzeć komunikaty diagnostyczne i błędy.
  • Czujniki i moduły GPS wysyłają pomiary lub dane tekstowe w ustalonym formacie.
  • Moduły radiowe i modemy przyjmują komendy sterujące przez UART.
  • Konwertery przemysłowe zamieniają dane z UART na RS-232, RS-485, CAN albo Ethernet.
  • Terminal operatorski może komunikować się ze sterownikiem za pomocą prostego protokołu tekstowego.

W automatyce UART często jest tylko niższą warstwą komunikacji. Przykładowo Modbus RTU może działać przez interfejs UART połączony z transceiverem RS-485. Sam UART nie zna jednak rejestrów, adresów ani znaczenia poleceń. To określa dopiero konkretny protokół komunikacyjny, czyli zestaw reguł wymiany danych.

W mojej ocenie UART najlepiej sprawdza się do połączeń punkt-punkt i diagnostyki. Gdy trzeba połączyć wiele urządzeń na długim przewodzie, rozsądniejszy będzie RS-485, CAN albo Ethernet przemysłowy.

UART, SPI i I2C czyli który interfejs wybrać

UART nie jest uniwersalnie najlepszym rozwiązaniem. Wybór zależy od liczby urządzeń, odległości, wymaganej szybkości i tego, czy można poprowadzić osobną linię zegara.

Interfejs Linie Zegar Najlepsze zastosowanie
UART TX, RX, GND Nie Proste połączenie dwóch urządzeń
SPI SCK, MOSI, MISO, CS Tak Szybka komunikacja z pamięciami i przetwornikami
I2C SDA, SCL, GND Tak Wiele układów na jednej magistrali
RS-485 Linia różnicowa A/B Zwykle nie Odległe urządzenia i środowisko przemysłowe

UART wygrywa prostotą, ale nie zapewnia sam z siebie adresowania wielu urządzeń ani mechanizmu potwierdzania dostarczenia wiadomości. Jeśli aplikacja wymaga większej niezawodności, dodaję do komunikatów sumę kontrolną, numer urządzenia, znacznik początku ramki i obsługę czasu oczekiwania.

Jak uruchomić połączenie UART bez błądzenia

Najpierw sprawdzam dokumentację obu urządzeń i zapisuję konfigurację w jednym miejscu. Pomaga prosty zestaw informacji: prędkość, liczba bitów, parzystość, liczba bitów stopu, poziom napięć i rodzaj transceivera.

  1. Ustal, czy masz czysty UART TTL, RS-232, RS-485 czy USB-UART.
  2. Sprawdź napięcia logiczne i dopuszczalny zakres wejść.
  3. Połącz TX nadajnika z RX odbiornika oraz RX z TX.
  4. Dodaj wspólną masę, jeśli dokumentacja urządzeń tego wymaga.
  5. Ustaw po obu stronach identyczne parametry transmisji.
  6. Wyślij prostą wiadomość testową i obserwuj odpowiedź.

Przeczytaj również: Falownik nie startuje? Diagnoza krok po kroku – znajdź przyczynę!

Najczęstsze błędy podczas diagnostyki

Jeżeli pojawiają się przypadkowe znaki, najpierw sprawdzam baud rate i format ramki. Brak jakiejkolwiek reakcji częściej oznacza zamienione linie TX/RX, brak masy, nieaktywny port albo użycie niewłaściwego konwertera.

Do szybkiej diagnozy przydaje się analizator stanów logicznych. Pokazuje on rzeczywistą prędkość, długość ramki i poziomy sygnału. Multimetr może potwierdzić obecność napięcia, ale nie pokaże, czy bity są przesyłane we właściwym rytmie.

Trzeba też pamiętać o buforach odbiorczych. Przy dużej liczbie danych mikrokontroler może nie zdążyć ich obsłużyć, a wtedy pojawiają się błędy przepełnienia. Pomagają przerwania, DMA, kontrola przepływu RTS/CTS albo ograniczenie częstotliwości komunikatów.

Co sprawdzić przed podłączeniem UART do sterownika

UART jest dobrym wyborem, gdy łączysz dwa urządzenia na krótkim dystansie i masz kontrolę nad konfiguracją obu stron. W zastosowaniach warsztatowych i automatycznych jego największą zaletą pozostaje łatwe uruchomienie oraz dostępność tanich konwerterów.

Przed pierwszym podłączeniem sprawdź nie tylko opis pinów, ale też poziomy napięć, sposób prowadzenia przewodu i wymagany protokół. Sam fakt, że dwa urządzenia mają wyprowadzenia TX i RX, nie oznacza jeszcze ich zgodności.

Najkrócej mówiąc, UART odpowiada za sposób przesyłania bitów, a RS-232, RS-485, Modbus czy własny protokół określają, jak ten sygnał działa w konkretnym systemie. To rozróżnienie oszczędza sporo czasu podczas uruchamiania instalacji i pozwala uniknąć kosztownego błędu przy doborze przewodów lub konwertera.

FAQ - Najczęstsze pytania

Połącz TX jednego urządzenia z RX drugiego, RX z TX oraz GND z GND. Sprawdź wcześniej poziomy logiczne, maksymalne napięcie wejść i zgodność parametrów transmisji.
8N1 oznacza 8 bitów danych, brak kontroli parzystości i 1 bit stopu. Przy 9600 Bd jedna ramka zajmuje około 1,04 ms, ponieważ zawiera łącznie 10 bitów.
UART opisuje sposób kodowania i przesyłania danych, ale nie określa poziomów elektrycznych. RS-232 i RS-485 definiują warstwę fizyczną, dlatego do połączenia z nimi potrzebny jest odpowiedni układ, na przykład MAX232 lub transceiver RS-485.
UART sprawdza się głównie w prostych połączeniach punkt-punkt i diagnostyce. RS-485 lepiej nadaje się do wielu urządzeń na długich przewodach, SPI do szybkiej komunikacji z pamięciami i przetwornikami, a I2C do wielu układów na jednej magistrali.
Oceń artykuł

Średnia: 0.0 / 5 · 0 ocen

Tagi

uart rs-485 rs-232 spi i2c
Autor Leonard Wojciechowski
Leonard Wojciechowski
Nazywam się Leonard Wojciechowski i od 10 lat zajmuję się tematyką techniki warsztatowej, elektryki oraz automatyki. Moje zainteresowanie tymi dziedzinami zaczęło się już w dzieciństwie, kiedy zafascynowany byłem działaniem różnych urządzeń. Od tamtej pory nieustannie poszerzam swoją wiedzę, a moim celem jest dzielenie się nią z innymi. W swoich tekstach staram się wyjaśniać skomplikowane zagadnienia w przystępny sposób, porównując różne źródła i śledząc aktualne trendy w branży. Piszę o różnorodnych aspektach techniki warsztatowej i elektryki, koncentrując się na praktycznych rozwiązaniach, które mogą pomóc czytelnikom w codziennych wyzwaniach. Zawsze dbam o to, aby moje informacje były rzetelne, zrozumiałe i aktualne, co pozwala mi na skuteczne przekazywanie wiedzy. Cieszę się, że mogę być częścią tej społeczności i mam nadzieję, że moje artykuły będą dla Was przydatne.
Komentarze (0)
Dodaj komentarz