Khóa học lập trình hướng sự kiện cho vi điều khiển (cơ bản)
- 8 bài giảng
- 1 - 2 giờ mỗi bài học
- Trợ giảng giải đáp mọi thắc mắc 24/7
- Học mọi lúc mọi nơi trên mọi thiết bij
Giới thiệu
mStack là một bộ thư viện và công cụ được thiết kế để giúp lập trình viên xây dựng các chương trình nhúng trên vi điều khiển một cách hiệu quả theo nguyên lý hướng sự kiện. mStack bao gồm 2 thư viện lõi (Event-Driven, State Machine) và mStack Console là công cụ giúp lập trình viên gỡ rối và điều khiển chương trình nhúng qua UART. Các thành phần cơ bản của mStack được mô tả như hình dưới đây.
Trong khóa học, chúng tôi sử dụng vi điều khiển STM32Fx (Cortex-M, Single Core) và môi trường phát triển STM32Cube IDE để thực hiện các ví dụ và các dự án thực hành.
Chúng tôi chia khối lượng kiến thức về mStack và mô hình hướng sự kiện thành hai khóa học: cơ bản và nâng cao. Trong khóa học cơ bản này, chúng tôi mong muốn học viên nắm được các kiến thức và kỹ năng sau:
- Hiểu rõ concepts và nắm được cách sử dụng các MACRO trong mStack thông qua các ví dụ cơ bản
- Biết cách dùng mStack với STM32Cube IDE và STM32
- Nắm được các nguyên tắc lập trình bất đồng bộ, hướng sự kiện
- Sử dụng mStack Console: Logger, Oscilloscope, Plotter, Control Panel
- Hiểu được State Machine và sử dụng với mStack
Với khóa học nâng cao được tổ chức sau khóa học cơ bản này, học viên sẽ được trang bị thêm các kỹ năng thực tế sử dụng mStack:
- Học viên được hướng dẫn để build một ứng dụng hoàn chỉnh với mStack
- Dễ dàng quản lý project khi scale-up, áp dụng được vào các project large scale
- Linh hoạt trong việc thay đổi firmware theo hardware khi project có nhu cầu mà không sợ bị ảnh hưởng quá nhiều đến hệ thống
Nội dung các khóa học
Bài 1. Tổng quan về lập trình hướng sự kiện
- Giới thiệu mô hình lập trình của mStack
- Download mStack trên github
- Cài đặt STM32Cube IDE, tạo project C++, config project
- Tạo new Project dùng mStack, build thành công
- Làm việc với Component và Engine
- Thực hành với 1 ví dụ đơn giản (ví dụ Blink Led, HelloWorld)
Bài 2. Làm việc với mStack Console
- Cài đặt mStack Console
- Viết file cấu hình để sử dụng mStack Console
- Sử dụng Logger trong mStack Console
- Sử dụng Plotter trong mStack Console
- Sử dụng Oscilloscope trong mStack Console
- Sử dụng Control Panel trong mStack Console
Bài 3. Làm việc với Event, Task và Signal
- Khái niệm, cách sử dụng M_EVENT
- Khái niệm , cách sử dụng M_TASK
- Khái niệm, cách sử dụng M_SIGNAL (One to One)
- Khái niệm, cách sử dụng M_SIGNAL_MANY (One to Many)
- Làm ví dụ cơ bản để nắm concepts
Bài 4. Tìm hiểu và thực hành State Machine
- Giới thiệu về State Machine
- Tạo 1 Machine sử dụng các MARCO
- STATE DEF & STATE BODY để định nghĩa các State
- Cách sử dụng TRANSITION trong State Machine
- Cách sử dụng các MACRO khác trong khi Machine hoạt động
- Ví dụ thực hành
Bài 5. Giới thiệu Strand và ứng dụng trong giao tiếp UART
- Khái niệm, cách sử dụng M_STRAND
- Cấu hình, thiết kế tầng hal thao tác trực tiếp với thanh ghi
- Thiết kế State Machine
- Thiết kế tầng Driver
- Kết hợp với Strand
- Ví dụ thực hành
Bài 6. Giao tiếp SPI sử dụng State Machine và Strand
- Cấu hình, thiết kế tầng hal thao tác trực tiếp với thanh ghi
- Thiết kế State Machine
- Thiết kế tầng Driver
- Kết hợp với Strand
- Ví dụ thực hành
Bài 7. Giao tiếp I2C với mStack
- Cấu hình, thiết kế tầng hal thao tác trực tiếp với thanh ghi
- Thiết kế State Machine
- Thiết kế tầng Driver
- Kết hợp với Strand
- Ví dụ thực hành
Bài 8. Bài thực hành số 1
- Thiết kế Machine quét Keypad 4x4
- Thiết kế Machine giao tiếp text LCD (1602/2004) 4bit/8bit
- Thiết kế Machine giao tiếp cảm biến DHTxx(11/21/22) oneWire
Bài 9. Bài thực hành số 2
- Thiết kế Machine giao tiếp ic encoder AS5047D SPI
- Thiết kế Machine giao tiếp cảm biến PMS5003ST UART
- Thiết kế Machine giao tiếp cảm biến DS-CO2-20 I2C
Tham khảo
Bạn sẽ học được gì?
- Các bạn đang tìm kiếm giải pháp thay thế RTOS tối ưu hiệu năng CPU hơn để giải quyết các bài toán điều khiển số hoặc các dự án điều khiển phức tạp yêu cầu tính realtime cao
Yêu cầu đầu vào
- Có kiến thức cơ bản về ngôn ngữ C/C++
- Có kỹ năng lập trình cơ bản về vi điều khiển (MCU)
Nội dung khoá học
- 1. Bài 1. Tổng quan về lập trình hướng sự kiện
- 2. Bài 2. Làm việc với mStack Console
- 3. Bài 3. Làm việc với Event, Task và Signal
- 4. Bài 4. Tìm hiểu và thực hành State Machine
- 5. Bài 5. Giới thiệu Strand và ứng dụng trong giao tiếp UART
- 6. Bài 6. Giao tiếp SPI sử dụng State Machine và Strand
- 7. Bài 7. Giao tiếp I2C với mStack
- 8. Bài 8. Bài thực hành số 1
Đánh giá
Đánh giá từ các học viên sau khi hoàn thành khoá học