TiiL Tutorials
@TinhocTiiL

Lập trình STM32 – Truyền thông nối tiếp bất đồng bộ UART

Ví dụ ứng dụng UART

Vài note về UART:

  • Universal Asynchronous Reciver/Transmister – chuẩn giao tiếp không đồng bộ
  • Ta thường dùng cho giao tiếp MCU và các thiết bị ngoại vi
  • Full duplex: nghĩa là tại một thời điểm có thể truyền và nhận đồng thời.
  • Baund rate (tốc độ Baund)  là khoảng thời gian dành cho 1 bit được truyền. Bắt buột set giống nhau ở 2 phía gửi và nhận.

Thực hành UART STM32

Bài toán: Lập trình truyền dữ liệu nối tiếp bất động bộ qua 2 chân 9 và 10 ở cổng A của STM32F4

B1. Cấu hình cho phép sử dụng UART với chân 9 và 10 như hình

B2. Thiết lập tham số cho phiên giao tiếp

Bước 3: Cho phép gọi ngắt khi hoàn thành một truyền/nhận 1B

CÁC HÀM SỬ DỤNG

  • void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
    • Chương trình con phục vụ ngắt, khi hoàn thành một phiên UART
  • HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
    • Gửi một khối dữ liệu, có địa chỉ được trỏ bởi pData, kích thước Size Byte
  • HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
    • Nhận về một khối dữ luệ, cất vào vùng nhớ, trỏ bởi pData, kích thước Size Byte

 

Avatar
https://khoacntt.ntu.edu.vn/giang-vien/mai-cuong-tho

một GV Đại học. TiiL đã phụ trách một số môn học như: Lập trình Java, Phát triển web với Java, Lập trình thiết bị di động, Lập trình hệ thống nhúng và IoT.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *