Bản chất của hệ thống nhúng - Phần firmware (Bo mạch STM32 Discovery)
Nếu bạn đã nắm được luồng hoạt động qua khóa “Bản chất của hệ thống nhúng - Phần cơ bản”, giờ là lúc trực tiếp triển khai firmware STM32. Thông qua STM32 Discovery Board, bạn sẽ học một cách có hệ thống từ việc thiết lập CubeMX đến triển khai firmware dựa trên GPIO, UART, Timer và Interrupt. Không chỉ dừng lại ở việc sử dụng các API HAL, khóa học còn hướng dẫn cách kết nối các thiết bị ngoại vi và thiết kế hệ thống trong quy trình của một dự án thực tế. Vượt ra ngoài việc thực hành từng chức năng riêng lẻ, bạn sẽ có được trải nghiệm hoàn thiện một hệ thống firmware hoàn chỉnh.
70 học viên
Độ khó Cơ bản
Thời gian Không giới hạn


[Thông tin mới] Nếu bạn gặp khó khăn trong quá trình thực hành STM32, hãy đặt câu hỏi như thế này!
Xin chào.
Tôi là bố Huchu của Đội cứu hộ người mới học lập trình.
Các bài thực hành STM32 hoạt động dựa trên không chỉ mã nguồn mà còn cả cấu hình CubeMX, môi trường build, Flash, cách đấu dây và cấu hình thiết bị ngoại vi. Vì vậy, khi phát sinh vấn đề, nếu bạn cho biết hiện tại mọi thứ vẫn hoạt động bình thường đến bước nào, chúng tôi sẽ có thể tìm ra nguyên nhân nhanh hơn nhiều.
Khi đặt câu hỏi, nếu có thể, vui lòng để lại cả những nội dung dưới đây.
Đó là bài thực hành nào trong khóa học nào
Build và Flash có hoàn tất bình thường không
Hoạt động bình thường đến đâu
Sự khác biệt giữa hoạt động mong đợi và hoạt động thực tế
Nếu có lỗi biên dịch/liên kết, hãy gửi toàn bộ thông báo lỗi
Mã nguồn liên quan và cấu hình CubeMX
Nếu là vấn đề phần cứng, hãy gửi ảnh đấu dây
Ví dụ,
thay vì ❌ "LCD không hiển thị."
⭕ "Tôi đang thực hành LCD I2C. Build và Flash đều bình thường, đồng thời cũng không phát sinh lỗi trong HAL API. Đèn nền LCD sáng nhưng không hiển thị chuỗi ký tự. Cấu hình I2C của CubeMX và cách nối dây hiện tại như dưới đây."
Hoặc,
❌ "PWM có vấn đề."
Thay vì
⭕ "Tôi đang thực hành PWM với động cơ servo SG90. Sau khi cài đặt Timer, PWM được xuất ra nhưng động cơ servo không di chuyển đến góc mong muốn. Cài đặt Prescaler/Period như sau, và chu kỳ cùng độ rộng xung đo được bằng Logic Analyzer như sau."
sẽ tốt hơn nếu bạn để lại câu hỏi như vậy.
Đặc biệt trong firmware,
Build → Flash → khởi tạo thiết bị ngoại vi → phát sinh tín hiệu → thiết bị thực tế hoạt động
việc lần lượt kiểm tra đến đâu vẫn hoạt động bình thường là một thói quen quan trọng.
Điều quan trọng hơn việc đặt câu hỏi sao cho tốt là truyền đạt chính xác nhất có thể những thông tin hiện đang biết và những nội dung đã kiểm tra. Nếu không chắc chắn, bạn chỉ cần viết trong phạm vi những gì mình biết cũng được.
Nếu gặp phần nào vướng mắc trong quá trình học, bạn cứ thoải mái để lại câu hỏi bất cứ lúc nào nhé. :)
Cảm ơn bạn.
Đội cứu hộ dành cho người mới học Kotlin gửi lời chào.




