Что такое UART и RS-232
UART (универсальный асинхронный приёмопередатчик) — узел, передающий данные последовательно, бит за битом, без отдельной линии тактирования. RS-232 — электрический стандарт (уровни напряжения, разъём), по которому UART подключают к ПК через COM-порт. Это старейший и простейший последовательный интерфейс, до сих пор массовый в связи МК с ПК, модулями и датчиками. Подробное описание COM-порта и распайки — на странице COM порт (RS-232).
Асинхронная передача
«Асинхронно» значит без общего такта: приёмник сам синхронизируется по стартовому биту, зная заранее скорость. Данные идут кадрами:
[старт] [D0 D1 … D7] [четность?] [стоп]
старт — 1 бит (лог. 0), запускает приём
данные — 5…9 бит (обычно 8)
контроль чётности — опционально
стоп — 1 или 2 бита (лог. 1)
Обе стороны должны быть настроены на одну скорость (бод) и формат кадра, иначе связь рассыплется. Расчёт делителя и ошибки скорости под кварц — в калькуляторе UART.
Уровни: логика МК и RS-232
UART микроконтроллера работает логическими уровнями (0/3,3/5 В), а RS-232 использует двуполярные ±(3…15) В с инверсией. Поэтому для связи с настоящим COM-портом нужен преобразователь уровней (например, MAX232). Для связи с ПК по USB применяют мост USB-UART (CP2102, CH340, FT232).
Скорость и надёжность
Типовые скорости — 9600, 115200 бод и выше. Чем длиннее линия и выше скорость, тем важнее согласование и помехозащищённость; для больших расстояний вместо RS-232 переходят на дифференциальный RS-485.
Частые вопросы
Чем UART отличается от RS-232?
UART — это цифровой узел (логика формирования/приёма кадра), а RS-232 — электрический стандарт уровней и разъёма. UART МК подключают к RS-232 через преобразователь уровней; сам протокол кадра один и тот же.
Почему приходят «кракозябры»?
Чаще всего не совпадает скорость (бод) или формат кадра (число бит, чётность, стоп-биты), либо неверная частота кварца/F_CPU. Проверьте настройки обеих сторон и точность тактирования.
Итоги
UART передаёт данные асинхронно кадрами со стартовым и стоповым битами; RS-232 задаёт для этого электрические уровни и разъём. Ключ к связи — одинаковые скорость и формат кадра на обеих сторонах и правильное согласование уровней. Для дальних линий выбирают дифференциальный RS-485.
Смотрите также: COM порт · SPI · RS-485 · Калькулятор UART.