Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Hands on projects with the I2C protocol - Learn by doing!

Thực hành dự án với giao thức I2C - Học qua làm!

Thực hành dự án với giao thức I2C - Học qua làm!

Hiểu sâu về ngoại vi I2C và GPIO qua các dự án hệ thống nhúng thực tế sử dụng STM32

4.5
(196 đánh giá)
1,591 học viên
Giảng viên
Akshay Gill
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
4.0 giờ video
45 bài giảng
2 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Thiết lập giao tiếp I2C giữa vi điều khiển và hàng nghìn thiết bị I2C có sẵn trên thị trường
Hiểu cách hoạt động của màn hình OLED và biết cách hiển thị nội dung trên chúng
Nắm vững cách thiết lập giao tiếp I2C giữa vi điều khiển STM32 Nucleo và cảm biến dòng điện, điện áp, nhiệt độ Linear Technologies LTC2990
Hiểu cách kích hoạt đầu vào GPIO để đọc tín hiệu từ nút nhấn vào vi điều khiển
Hiểu về Thư viện HAL (Hardware Abstraction Layer) và cách sử dụng chúng
Tự tin và thoải mái lập trình ứng dụng trên nền tảng Cortex-M
Đọc datasheet của thiết bị I2C slave để tìm cách kết nối chúng với vi điều khiển master

Yêu cầu

Kiến thức cơ bản về hệ thống nhúng
Khuyến nghị sử dụng board phát triển STM32 Nucleo (không bắt buộc)
Khuyến nghị sử dụng board phát triển I2C MakerMax (không bắt buộc)
Hiểu biết cơ bản về nguyên lý hoạt động của bộ xử lý ARM Cortex

Đối tượng phù hợp

Dành cho người đam mê, chuyên gia hoặc sinh viên hệ thống nhúng muốn khám phá các ngoại vi của vi điều khiển
Nếu bạn muốn thành thạo giao thức truyền thông I2C
Nếu bạn muốn hiểu sâu về ngoại vi GPIO
Đã có kinh nghiệm làm việc với vi điều khiển ARM Cortex và muốn hiểu sâu hơn về các ngoại vi của bộ xử lý

Nội dung khóa học

7 phần • 45 bài giảng
1 Trước khi bắt đầu!
2 Giới thiệu khóa học
1 Giới thiệu Phần 1
2 Kiến thức cơ bản về giao thức I2C
3 Kết nối I2C
4 Tính toán điện trở kéo lên
5 Hướng dẫn
6 Ảnh hưởng của điện dung bus
7 Các định dạng I2C thông dụng
8 Tài liệu tham khảo khóa học
9 Phân tích giao thức đọc LTC2990
10 Về phần cứng
11 Mua phần cứng
1 Thiết lập và bài tập môi trường phát triển thay thế
2 Tài liệu môi trường phát triển thay thế
1 Giới thiệu Phần 3
2 Cài đặt STCubeMx
3 Thiết lập dự án STCubeMx để làm việc với MakerMax I2C Shield
4 Viết driver đọc I2C cho LTC2990
5 Sử dụng driver I2C để đọc điện áp nguồn từ slave LTC2990
6 Sử dụng I2C Write để cấu hình LTC2990
7 Viết driver I2C cho bộ điều khiển SSD1306
1 Giới thiệu Phần 4
2 Thử thách 1 - Khai thác cảm biến nhiệt độ thời gian thực
3 Giải pháp Thử thách 1 - Khai thác cảm biến nhiệt độ thời gian thực
4 Cải thiện màn hình OLED
5 Cấu hình thanh ghi điều khiển LTC2990
6 Thử thách 2 - Khai thác đầu vào analog từ biến trở
7 Giải pháp Thử thách 2 - Khai thác đầu vào analog từ biến trở
8 Thử thách 3 - Khai thác cảm biến dòng điện xử lý
9 Giải pháp Thử thách 3 - Khai thác cảm biến dòng điện xử lý
10 Thử thách 4 - Khai thác đầu vào digital từ nút nhấn
11 Giải pháp Thử thách 4 - Khai thác đầu vào digital từ nút nhấn
1 Hướng dẫn
2 Chúc mừng và cảm ơn!
1 Giới thiệu Phần 2
2 Thiết lập máy ảo
3 Cài đặt hệ điều hành Linux trên máy ảo
4 Thiết lập môi trường phát triển Eclipse
5 Thiết lập bộ công cụ phát triển
6 Tạo dự án Blinky
7 Thiết lập bộ gỡ lỗi mã nguồn mở (Phần 1/2)
8 Thiết lập bộ gỡ lỗi mã nguồn mở (Phần 2/2)
9 Chạy dự án Blinky
10 Câu hỏi thường gặp và xử lý sự cố

Giới thiệu khóa học

Welcome to this course on embedded systems for STM32: I2C protocol masterclass. The I2C communication protocol is a popular protocol that microcontrollers use to talk to various devices such as EEPROMS and NVRAMs, ADCs and DACs, I/O interfaces for port expansion, and a whole array of different types of sensors. This class goes in-depth into the theory behind the I2C protocol, why it was originally designed, what types of common formats are available, and how to implement I2C communication between a STM32 microcontroller, a LTC2990 current, voltage and temperature sensor and an OLED display.


Who am I?

I’m Akshay, and I’ll be your instructor for this course. I have been fascinated with micro controllers since I was a child, and now I consider it lucky to have it as my profession. I currently write firmware for safety critical systems that go inside electric cars. With my knowledge of embedded systems over the past 10+ years, and working in Silicon Valley, I have gained a unique insight into what the industry needs and what the students are lacking.


Course Structure

The course is divided into four sections - 

Section 1 - In this section you will learn the theory behind the I2C protocol and how to implement it effectively.

Section 2 - In this section you will set up a free and open source development environment to program and debug ARM Cortex microcontrollers. If you have previously completed my course on the Foundations of ARM Cortex-M processors, then you may choose to skip to the next section.

Section 3 - In this section you will get hands-on experience on how to write the I2C drivers for the LTC2990 temperature, current and voltage sensor and the SSD1306 OLED display. You can take the knowledge learned in this section and apply it to any other I2C device of your choosing.

Section 4 - In this section you will unlock features of the I2C Shield with specially designed assignments. After each assignment I will show you my method of implementation for comparison.


What hardware is needed for this course?

This course is created around the Nucleo series of boards from ST Microelectronics and I have designed, specifically for this course a custom board that fits on top of the Nucleo board. The Nucleo board is available for purchase directly from ST Micro and the custom I2C board can be purchased  on www(dot)makermax(dot)ca to allow you to get hands-on without having a whole electronics lab at your desk. Although this hardware is recommended, it is not mandatory. If you choose not to buy the hardware, you will still be able to follow along through all the lectures as I will show you my implementation. The best way to learn however, is to try and implement it yourself. If you have further questions on the hardware or anything else, send me a message! I would be more than happy to help you.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Embedded Systems
Hiển thị tất cả khoá học Hardware Programming
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊