Các nội dung chính
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

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