#2_Bật tắt LED

Bật tắt LED

Tiếp theo là Bật tắt LED trong STM32 cơ bản, đây là 1 ví dụ khi bắt đầu tìm hiều về vi điều khiển bất kỳ. Tiếp tục với thư viện HAL. Bài viết sử dụng HAL_GPIO_EXTI_Callback để bật tắt, cách này là 1 cách khác so với HAL_GPIO_ReadPin trong bài viết trước.

———————————

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

Nội dung thực hành | Bật tắt LED

Tiếp tục sử dụng kit STM32F411 với nút nhấn và 4 LED có sẵn. Để nắm rõ về cấu hình chân của kit STM32F411 Discovery bạn có thể tải và đọc file pdf “user manual” ở bên dưới
  • 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ư bài trước. Rồi đến 4 chân đầu ra GPIO_OutPut tương ứng 4 LEDs từ PD12->PD15. Sau đó là Khởi tạo nút nhấn PA0 với GPIO_EXTI0. Cuối cùng là khởi tạo code và lập trình thôi.
Bật tắt LED
Bật tắt LED (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_GPIO_EXTI_Callback

Cấu hình chân cho bật tắt LED

Cấu hình chân, chọn dao động ngoài và chọn mạch nạp như bài trước.

Pull-Down cho PA0

Khi cấu hình chân chú ý GPIO_EXTI0 dùng điện trở kéo xuống (GPIO pull-down) để kéo trạng thái mặc định về mức thấp. Dao động ngoại và mạch nạp ta chọn như bài trước.

Khởi tạo code và thư viện stm32f4xx_HAL_GPIO.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_GPIO.c để tìm các hàm sẽ sử dụng.

Lập trình bật tắt LED (click để phóng to)

Khi nhấn nút PA0, vi điều khiển nhảy vào hàm HAL_EXTI_Callback và thực hiện nhiệm vụ. Trong ví dụ này khi biến dem = 5 sẽ thực hiện bật LED.

STM32 cơ bản
Kết quả debug
Khi nhấn nút PA0 có thể sẽ sinh ra nhiễu, do đó thiết kế mạch hoàn chỉnh cần chú ý dùng thêm tụ gốm 103, 104 vào để hạn chế nhiễu!!!

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

Bài viết “Bật tắt LED” tiếp tục sử dụng STM32F411, phần mềm sử dụng là stm32cubeIDE.


Trong bài sau ta sẽ sử dụng HAL_GPIO_EXTI_Callback (TIMER) để nhấp nháy LED với tần số mong muốn…

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á.

5/5 - (1 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 *