- vừa được xem lúc

Ghi chú API thư viện HAL cho STM32

0 0 4

Người đăng: Nguyễn Đặng Triều

Theo Viblo Asia

GPIO

HAL_GPIO_ReadPin(GPIO, PIN)

Return:

  • GPIO_PIN_SET: Chân đang ở mức HIGH
  • GPIO_PIN_RESET: Chân đang ở mức LOW.

SystemT

HAL_GetTick()

Hệ thống của STM32 có một bộ đếm SysTick, được cấu hình để tạo ra một ngắt mỗi 1ms. Trong hàm ngắt này, một biến toàn cục (uwTick) được tăng lên một. Hàm HAL_GetTick() chỉ đơn giản là trả về giá trị của biến uwTick này.

UART

1. Khởi tạo cấu hình

  • HAL_UART_Init(&huartx): Khởi tạo UART với các tham số (baudrate, word length, parity, stop bits...).
  • HAL_UART_DeInit(&huartx): Reset UART về trạng thái mặc định.

2. Truyền dữ liệu

  • Blocking (chặn đến khi xong)
HAL_UART_Transmit(...);
  • Non-blocking với Interrupt
HAL_UART_Transmit_IT(...);
  • UART DMAT
HAL_UART_Transmit_DMA(...);

3. Nhận dữ liệu

  • Blocking
HAL_UART_Receive(...);
  • Non-blocking với Interrupt:
HAL_UART_Receive_IT(...);
  • DMA
HAL_UART_Receive_DMA(...);

4. Callback Function

Các hàm này được gọi tự động khi dùng _IT, _DMA.

  • HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart): Gọi khi truyền xong.
  • HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart): Gọi khi nhận xong.
  • HAL_UART_ErrorCallback(UART_HandleTypeDef *huart): Được gọi khi xảy ra lỗi (frame error, overrun, ....)

Bình luận

Bài viết tương tự

- vừa được xem lúc

Ghi chú và ghi nhớ hiệu quả với RemNote

Bài viết này chia sẻ phương pháp và công cụ giúp mình ghi chú & nhớ nhanh, nhớ lâu và hiệu quả hơn. Trong học tập cũng như công việc, thói quen của mình thường ghi chú dạng outline - nhiều gạch đầu dò

0 0 27

- vừa được xem lúc

Một vài những vulnerable gần đây của Whatsup Gold

Đợt vừa rồi mình cùng @lengocanh cũng target vào Whatsup Gold, tuy kết quả chưa thật sự tốt nhưng cũng có để lại một vài bài học cho ae trong team. TL;DR.

0 0 26

- vừa được xem lúc

API của LL Library trong stm32

LL EXTI Generic Driver. Trong vi điều khiển ARM Cortex-M, có một bộ điều khiển vector ngắt lồng nhau, thường được gọi là NVIC, được sử dụng để xử lí tất cả các ngắt và ngoại lệ mà Cortex-M hỗ trợ.

0 0 12

- vừa được xem lúc

Khi nào nên dùng ví dụ struct a nằm trong struct B, thì khi nào nên dùng con trỏ struct a, khi nào nên khởi tạo trực tiếp

1. Nhúng trực tiếp struct A vào struct B. c. struct A {.

0 0 7