Bài 3: Cấu hình và sử dụng UART trên Raspberry Pi

Bài viết hướng dẫn cấu hình và sử dụng ngoại vi UART trên Raspberry Pi bằng lệnh trong cửa sổ terminal

Xác định ngoại vi UART và chân GPIO tương ứng trên Raspberry Pi

Các dòng Raspberry Pi khác nhau có thể có số lượng ngoại vi UART và vị trí chân GPIO khác nhau. Tuy nhiên việc cấu hình UART về cơ bản là giống nhau về cú pháp, chỉ khác nhau về vị trí chân GPIO.

Để đơn giản mình sẽ lấy ví dụ về cấu hình UART trên Raspberry Pi 4. Trên raspberry Pi 4 hỗ trợ 5 UART, nhiều bài viết hướng dẫn chỉ nhắc đến UART mặc định là UART0, tuy nhiên mình sẽ hướng dẫn các bạn có thể sử dụng tối đa số lượng UART mà Raspberry Pi 4 hỗ trợ.

Cấu hình UART sử dụng câu lệnh trong cửa sổ terminal

Đăng nhập vào Raspberry Pi

Các bạn có thể kết nối SSH từ máy tính cá nhân đến Raspberry Pi hoặc thao tác trực tiếp trên Raspberry Pi để mở cửa sổ terminal. Ở đây mình sẽ kết nối SSH từ máy tính cá nhân với Raspberry Pi để mở cửa sổ terminal. Sau khi kết nối và đăng nhập được vào Raspberry Pi, cửa sổ terminal sẽ có dạng như hình bên dưới:


Các bước cấu hình UART

Bước 1: Mở tệp config.txt để tiến hành chỉnh sửa, cấu hình UART

Nhập lệnh: sudo nano /boot/config.txt hoặc sudo nano /boot/firmware/config.txt

Sau khi nhập lệnh trên, bạn sẽ thấy nội dung file config.txt chứa các thông tin về cấu hình của các ngoại vi trên Raspberry Pi.

Bước 2: Kéo xuống cuối tệp và sau đó thêm vào đoạn nội dung sau:

enable_uart=1
dtoverlay=uart0
dtoverlay=uart3,txd0_pin=4,rxd0_pin=5

Ý nghĩa của 3 dòng lệnh trên:

  • Dòng lệnh thứ 1 sử dụng để Raspberry Pi biết nội dung bên dưới là cấu hình các ngoại vi UART
  • Dòng lệnh thứ 2 là enable uart0 (là uart mặc định của Raspberry Pi với TX tương ứng là GPIO14, RX tương ứng là GPIO 15)
  • Dòng lệnh thứ 3 là enable uart3, với TX là GPIO4, RX là GPIO5

Bước 3: nhấn Ctrl S để lưu và nhấn Ctrl X để thoát khỏi tệp.

Các bạn có thể kiểm tra xem mình cấu hình đã đúng chưa bằng cách nhập lệnh raspi-gpio get. Lúc này trên màn hình sẽ hiển thị chi tiết các chân GPIO được sử dụng cho mục đích gì. Ở đây các bạn có thể thấy đã kích hoạt thành công UART0 và UART3 và các chân GPIO tương ứng

Bước 4: kiểm tra tên của uart bằng cách vào lệnh ls /dev/ | grep tty

Lúc này màn hình sẽ hiện ra kiểu ls/dev/ttyS0, ls/dev/ttyAMA1, v.v.. Đây là tên của các UART bạn vừa khởi tạo

Bước 5: thêm người dùng hiện tại vào nhóm dialout để có quyền truy cập vào thiết bị tty bằng cách vào lệnh: sudo usermod -aG dialout $USER

Bước 6: Cấu hình baudrate
Trước hết xem cấu hình hiện tại, ví dụ UART mình muốn xem là: stty -F /dev/ttyAMA1 -a
Sau đó bạn có thể tự mình cấu hình tốc độ mong muốn, ví dụ baudrate là 9600: stty -F /dev/ttyAMA1 9600

Bước 7: thử gửi hello xem nào!: echo “Hello, UART!” > /dev/ttyAMA1

Chương trình giao tiếp UART bằng ngôn ngữ Python và C

Sau khi các bạn bật các ngoại vi UART xong, tiếp theo mình sẽ làm ví dụ minh họa cách viết chương trình giao tiếp UART trên Raspberry Pi bằng ngôn ngữ lập trình Python và C

Đánh giá bài viết!

Bài viết liên quan

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

Mạng xã hội

- Advertisement -spot_img

Bài viết mới nhất