Khóa học Lập trình STM32 trên thanh ghi là một hành trình chuyên sâu giúp học viên làm chủ cách lập trình và tương tác trực tiếp với các thanh ghi của vi điều khiển STM32. Thay vì sử dụng thư viện có sẵn, học viên sẽ học cách truy cập, cấu hình và điều khiển phần cứng ở mức thấp nhất để tối ưu hóa hiệu suất hệ thống nhúng.
Khóa học cung cấp kiến thức từ nền tảng đến nâng cao, kết hợp lý thuyết với thực hành trên các ngoại vi thực tế như GPIO, ADC, Timer, PWM, UART, SPI, I2C… giúp học viên xây dựng kỹ năng vững chắc trong lập trình STM32.
Kết quả đầu ra của khóa học
✔️ Hiểu rõ cách hoạt động của vi điều khiển STM32 và cách thao tác trực tiếp với thanh ghi.
✔️ Thành thạo cách lập trình để truy cập, cấu hình và điều khiển ngoại vi mà không cần thư viện.
✔️ Biết cách tối ưu hóa hiệu suất ứng dụng nhúng thông qua lập trình thanh ghi.
✔️ Nâng cao kỹ năng debug, phân tích lỗi và xử lý sự cố liên quan đến vi điều khiển.
✔️ Có khả năng thiết kế và lập trình các ứng dụng nhúng thực tế sử dụng STM32.
✔️ Xây dựng nền tảng vững chắc để tiếp tục nghiên cứu chuyên sâu hoặc phát triển sản phẩm nhúng.
Ai nên tham gia khóa học này?
✅ Sinh viên và người mới bắt đầu trong lĩnh vực kỹ thuật điện tử, lập trình nhúng hoặc CNTT muốn hiểu rõ cách lập trình STM32 từ gốc.
✅ Kỹ sư điện tử, kỹ sư điều khiển tự động hóa, kỹ sư IoT muốn tối ưu hóa hiệu suất và tính linh hoạt của hệ thống nhúng.
✅ Nhà phát triển phần cứng và phần mềm muốn nắm vững hoạt động của vi điều khiển STM32 và cách tương tác trực tiếp với thanh ghi.
✅ Những ai muốn xây dựng các ứng dụng nhúng thực tế mà không phụ thuộc vào thư viện có sẵn, giúp chủ động hơn trong lập trình và tối ưu hóa hệ thống.
Chương trình giáo dục
- 20 Sections
- 117 Lessons
- 10 Weeks
- Giới thiệu về khóa học4
- Kiến thức cơ bản về vi điều khiển3
- Kiến thức cơ bản về trình biên dịch4
- Quá trình startup của vi điều khiển5
- Cài đặt Môi trường Phát triển và các công cụ8
- 5.1Các phần mềm để lập trình STM32
- 5.2Option 1: Cài đặt Cube IDE
- 5.3Tạo chương trình và biên dịch chương trình
- 5.4Flash vào STM32 và các lỗi thường gặp
- 5.5Các công cụ debug trên STM32 CubeIDE
- 5.6Option 2: Cài đặt VS Code, Trình biên dịch
- 5.7Giải thích makefile và cách chỉnh sửa makefile
- 5.8Flash chương trình sử dụng VS Code
- Kiến thức cơ bản về thanh ghi và cách làm việc với thanh ghi5
- Lập trình GPIO và Thực hành Các Chế độ I/O11
- 7.1Tổng quan về GPIO và sơ đồ khối của bộ GPIO
- 7.2Các thanh ghi GPIO và cách cấu hình GPIO
- 7.3Các mode của GPIO output
- 7.4Thực hành: GPIO output chế độ push/pull
- 7.5Các mode của GPIO Input
- 7.6Thực hành: GPIO input pull up đọc tín hiệu nút nhấn
- 7.7Thực hành: kết hợp nút nhấn và Led
- 7.8Kĩ thuật Scan để hiển thị Led 7
- 7.9Thực hành: Hiển thị giá trị sử dụng led 7 thanh
- 7.10Kĩ thuật Scan để đọc Matrix Keypad 3×4
- 7.11Thực hành: Nhập số và hiển thị lên led 7
- Delay cơ bản và Delay Systick Timer3
- Ngắt và trình quản lý ngắt NVIC5
- AFIO và Remap Chức Năng Ngoại Vi3
- Ngắt ngoài EXTI4
- ADC – Chuyển Đổi Tín Hiệu tương tự sang số6
- DMA7
- RCC - Nguồn clock cho vi điều khiển3
- Timer - Bộ định thời cơ bản Time Base6
- Timer - Chế độ điều chế độ rộng xung PWM6
- Timer - Đo độ rộng xung Input Capture5
- UART7
- SPI10
- 19.1Lý thuyết về SPI
- 19.2Các thanh ghi SPI
- 19.3Thiết lập SPI Master
- 19.4Thực hành: Truyền dữ liệu SPI và phân tích frame truyền với Logic Analyzere
- 19.5Thiết lập SPI Slave
- 19.6Thực hành: Nhận dữ liệu SPI sử dụng polling và ngắt
- 19.7IC 25Q80 và cách giao tiếp
- 19.8Thực hành: Đọc ghi dữ liệu vào IC 25Q80
- 19.9Mở rộng: LCD ST7735
- 19.10Mở rộng: Thực hành hiển thị chữ, ảnh lên màn hình LCD ST7735
- I2C12
- 20.1Lý thuyết về I2C
- 20.2Các thanh ghi bộ I2C
- 20.3Cấu hình I2C Master Mode
- 20.4Thực hành: Phân tích I2C Frame sử dụng Logic Analyzer
- 20.5I2C receive
- 20.6Giới thiệu về IC thời gian thực DS3231
- 20.7Đoc ghi dữ liệu vào DS3231
- 20.8Thực hành: Truyền nhận dữ liệu với DS3231 sử dụng ngắt
- 20.9Mở rộng: Giới thiệu module LCD 1602 I2C
- 20.10Thực hành: Hiển thị màn hình LCD 1602 I2C
- 20.11Mở rộng: Giới thiệu màn hình LCD Oled SSD1306
- 20.12Thực hành: Hiển thị màn hình Oled SSD1306