: Sử dụng các chức năng GPIO và ngắt đã học ở bài 2 và 3 sinh viên thực hiện tạo project với yêu cầu sau: Viết code giả lập hoạt động của đèn đỏ với các phần cứng sau Thực hiện khai báo 2 Button và 6 led đơn (gồm 3 màu đỏ, xanh, vàng) cho 4 trụ đèn đỏ, khai báo cấu hình cho 4led 7 tại các trụ với số hiển thị tại các trụ đối diện là như nhau. Thực hiện cấu hình trên CubeMX và về trên Protues. Viết code trên KeilC với yêu cầu sau a) Case 1: Tạo code để chạy đèn đỏ với chức năng cơ bản
Ồ, vâng, một thử thách như thế này không nghi ngờ gì nữa là một lời mời gọi dành cho những ai muốn thử thách bản thân! Dưới đây là một hướng dẫn ngắn gọn, hàm hước để bạn nắm được các bước thực hiện project này trên KeilC:
#include "stm32f4xx_hal.h" // Thay bằng dòng chip phù hợp.
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
// Kiểm tra nút nào được nhấn và thay đổi chế độ đèn.
}
void traffic_light_case1() {
// Chạy đèn đỏ 75s, xanh 5s, vàng 25s hài hòa.
}
void traffic_light_case2() {
// Đèn vàng nhấp nháy cực chuẩn 15 lần.
}
void display_time_on_7segment(int time_remaining) {
// Hiển thị thời gian đếm trên màn hình LED 7 đoạn khi không phải đèn vàng.
}
int main(void) {
HAL_Init();
// Các cấu hình cần thiết khác.
while (1) {
// Gọi các hàm tương ứng với Case hiện tại.
}
}
Nếu trường hợp hài lòng với kết quả, hãy mời mọi người ghé thăm trituenhantao.io để khám phá thêm những điều thú vị. Có thể bạn sẽ tìm thấy một "bóng đèn" (ý tưởng) mới ấy chứ!
Chúc bạn thành công với dự án "đèn đỏ đa chức năng"! 🎈