Pico 3. UART - Example Loopback

🌱 Pico 3. UART - Example Loopback

    UART là một giao thức truyền thông nối tiếp cơ bản của tất cả các dòng Vi điều khiển, các bạn có thể tham khảo lý thuyết về UART tại đây: 8051 UART, STM32 USART. Ở trong Series về Pico này, mình sẽ chỉ nêu các đặc điểm có trong Pico và ứng dụng của nó sử dụng MicroPython.

    👉 IDE sử dụng: Thonny    

    👉 Phần cứng UART

    Về cơ bản thì Raspberry Pico hỗ trợ 2 bộ UART là UART0 và UART1. Trong đó, các bộ UART được sử dụng ở các chân theo sơ đồ sau:

UART Pinout

  • Trong đó UART0 mặc định là 2 chân GP0 (TX) và GP1 (RX), ngoài ra, có thể sử dụng trên chân GP12 và GP13 hoặc GP16 và GP17.
  • Còn UART1 hỗ trợ 2 chân GP4 (TX) và GP5 (RX), hoặc GP8 và GP9. 

    Trong bài toán này, mình sẽ test cả 2 bộ UART bằng phương pháp gọi là Loopback, tức là một bộ sẽ đó vai trò truyền dữ liệu (UART1) và bộ còn lại sẽ đóng vai trò nhận dữ liệu (UART0).

    👉 Viết chương trình

    Với bài toán này chúng ta sẽ sử dụng chương trình gửi các byte dữ liệu từ UART1 sang UART0 và hiển thị lên màn hình. 

  1. Đầu tiên chúng ta cần import các thư viện Pin và UART.
  2. Cài đặc UART0 và UART1 với cùng tốc độ Baudrate = 9600, UART0 TX = GP0, UART0 RX = GP1, UART1 TX = GP8, UART1 RX = GP9 , bằng lệnh UART(instance, baudrate, tx, rx)
  3. Tiến hành gửi dữ liệu bằng UART1 bằng lệnh write("...").
  4. Kiểm tra bộ đệm UART của bộ UART0 bằng lệnh any() và đọc dữ liệu từ đó bằng lệnh read().
  5. In dữ liệu nhận được lên màn hình bằng lệnh print(). In xong thì xóa data để lần sau test.

    ➤ Các bạn có thể tham khảo chương trình mẫu dưới đây của mình

UART Code

    ➤ Và kết quả đúng như mong đợi

Result

    Chúc các bạn học tập tốt 😊

<= Xem Bài Pico 2               Xem Bài Pico 4 =>

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

Đăng nhận xét

Mới hơn Cũ hơn