UART là gì?
Viết tắt của Universal Asynchronous Receiver/Transmitter, UART là một phương thức giao tiếp nối tiếp, truyền từng bit dữ liệu giữa vi điều khiển và các thiết bị khác.
Nó là nền tảng cho nhiều chuẩn giao tiếp quen thuộc như USB và RS232, giúp các thiết bị "trò chuyện" với nhau một cách hiệu quả.
Chỉ cần TX (truyền) và RX (nhận) để hoạt động.
Hiệu quả cho cả giao tiếp ngắn và đường dài.
"Ngôn Ngữ" Chung Của UART
Để hai thiết bị giao tiếp thành công, chúng phải được cấu hình hoàn toàn giống nhau với 4 thông số cốt lõi sau:
Tốc Độ Baud
Tốc độ truyền dữ liệu, tính bằng bit mỗi giây (bps). Phổ biến: 9600, 115200.
Bit Dữ Liệu
Số bit trong một gói tin. Hầu hết các ứng dụng đều dùng 8 bit.
Bit Dừng
Báo hiệu kết thúc một gói tin. Thường là 1 hoặc 2 bit.
Parity Bit
Bit tùy chọn, dùng để kiểm tra lỗi truyền dữ liệu đơn giản.
Các Chế Độ Hoạt Động
Simplex (Đơn công): Dữ liệu chỉ đi theo một chiều (A → B).
Half-Duplex (Bán song công): Dữ liệu đi hai chiều nhưng không đồng thời (A ↔ B, lần lượt).
Full-Duplex (Song công): Dữ liệu đi hai chiều cùng một lúc. Đây là chế độ mặc định và mạnh mẽ nhất của UART.
Cấu Trúc Một Khung Dữ Liệu UART
Mỗi khi gửi dữ liệu, UART sẽ đóng gói các bit thành một "khung" (frame) theo một cấu trúc chuẩn để bên nhận có thể hiểu được.
So Sánh Nhanh Các Giao Thức Nối Tiếp
| Giao tiếp | Chế độ | Chiều truyền | Ghi chú | 
|---|---|---|---|
| UART | Full-duplex | 2 chiều độc lập (TX/RX) | Truyền và nhận đồng thời qua 2 dây. | 
| I2C | Half-duplex | 2 chiều, không đồng thời | Dùng chung 1 dây dữ liệu (SDA). | 
| SPI | Full-duplex | 2 chiều đồng thời (MOSI/MISO) | Gửi và nhận cùng lúc. |