#3_TIMER Period

Timer Period

TIMER period là nội dung tiếp theo được trình bày trong STM32 cơ bản. Bài viết sử dụng HAL_TIM_PeriodElapsedCallback, cụ thể sẽ làm nhấp nháy LEDs với tần số mong muốn (1Hz).

———————————

Cùng xem bài viết bên dưới.

Nội dung thực hành | Timer Period

  • Trong ví dụ này, tiếp tục sử dụng 4 LEDs có sẵn tại kit, làm nhấp nháy LEDs này với tần số 1Hz. Trước đó cần tìm hiểu về mapSTM32 và reference manual để nắm rõ các công thức tính toán tần số mong muốn.
Timer period
Tính toán tần số
  • Tiếp theo là định hướng việc sẽ làm, đầu tiên là khởi tạo xung clock, mạch nạp như mọi khi, chú ý tần số APB1 trong ví dụ là 100Mhz. Sau đó là 4 chân đầu ra GPIO_OutPut tương ứng 4 LEDs từ PD12->PD15. Cuối cùng là khởi tạo TIM2 và cấu hình theo công thức tính toán để có tần số 1Hz.
Tính toán tần số (Click to zoom)
Phần mềm sử dụng là STM32cubeIDE, nếu chưa cài đặt các bạn xem video hướng dẫn tại đây

Thực hành HAL_TIM_PeriodElapsedCallback

Cấu hình chân

Chọn dao động ngoài và mạch nạp như bài trước. Tiếp theo là tính toán hệ số phù hợp để có tần số 1Hz. APB1 có tần số 100Mhz -> hệ số PREDIV_SPREDIV_A lần lượt là 50000-1 và 2000-1.

  • TIM2 cần tính toán theo công thức để có tần số chính xác 1Hz.
  • Cấu hình ngắt (NVIC) cho TIM2

Khởi tạo code và thư viện stm32f4xx_HAL_TIM.c

Sau khi cấu hình chân xong ta tiến hành khởi tạo code. Sau đó vào stm32f4xx_HAL_TIM.c để tìm các hàm sẽ sử dụng.

main TIMER Period (Click để phóng to)

Các hàm HAL_TIM sử dụng trong ví dụ.

  • Hàm void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim):

LEDs sẽ nhấp nháy với tần số 1Hz, tương ứng với “level” khi debug.

STM32 cơ bản
Debug ví dụ TIMER Period (Click để phóng to)

Phần cứng và code trong bài viết

Phần cứng tiếp tục sử dụng STM32F411, phần mềm sử dụng là stm32cubeIDE. File code ví dụ các bạn tải về bên dưới.


Trong bài sau ta sẽ sử dụng HAL_TIM_PWM_Start để băm xung PWM. Các bài viết khác cùng chuyên mục trong “STM32 cơ bản“.

Các chuyên mục khác:

Bạn có thắc mắc gì trong bài viết không?

Đánh giá và để lại bình luận bên dưới nhá.

3.3/5 - (3 bình chọn)

Similar Posts

Để lại một bình luận

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 *