Hướng dẫn chức năng UART Transfer Polling với CubeMX sử dụng cho chip STM32F103C8T6

[HỌC ONLINE: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]

Bước 1:

Tạo project trên CubeMX

Bước 2:

Cấu hình chân nạp code

Bước 3:

Chọn mode Asynchorous cho UART1 và cấu hình UART:

  • Set tốc độ baudrate thông dụng là 9600

Bước 4:

  • Chọn Project Manager
  • Đặt tên project
  • Chọn tool IDE

Bước 5:

Sinh code

Bước 6:

Khai báo 1 string char* str = “Helloword!!” để truyền từ MCU lên máy tính thông qua usb TTL và phần mềm hiển thị dữ liệu là Hescules 

Ở đây chúng ta sẽ sử dụng hàm có sẵn trong thư viện HAL:

HAL_UART_Transmit(UART_HandleTypeDef* huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);

Ở đây bao gồm 4 thông số truyền vào:

  • UART_HandleTypeDef* huart: UART hiện tại bạn đang sử dụng ví dụ ở bài này mình sẽ truyền vào &huart1
  • uint8_t *pData: Mảng ký tự dùng để truyền đi ví dụ ở bài này chúng ta đã khai váo 1 chuỗi kí tự str
  • uint16_t Size: Số lượng kí tự được truyền đi
  • uint32_t Timeout: Thời hạn kết thúc việc truyền dữ liệu

Bước 7:

  • Nối dây Tx của MCU vào dây Rx của usb TTL vào ngược lại
  • Mở phần mềm Hercules 
  • Chọn tốc độ baudrate là 9600

Bước 8:

Chuỗi dữ liệu đã được truyền đi và hiển thị trên phần mềm Hercules

Xem thêm: Tổng hợp các bài hướng dẫn Lập trình vi điều khiển STM32 tại đây.