1,900,000 đ
Các khóa học được bán trên deviot
5.0

Lập trình ứng dụng STM32F103

Cập nhật lần cuối12/10/2023
Số học viên2,000
Thời lượng33 videos
  • 33 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

Vì sao phải học STM32 ?


1. Phần mềm dễ sử dụng, code dễ đọc và dễ hiểu


  • Nhờ vào bộ phần mềm CubeMX và thư viện HAL, mình thấy rằng STM32 khá dễ tiếp cận. Là dòng chip giá rẻ nên độ phổ biến cao, cộng đồng nhiều và cũng rất nhiều tutorial trên mạng (Cả tiếng việt). Thư viện HAL giúp chuyển đổi code dễ dàng giữa các dòng chip khác nhau (F0,F1,F2,F3,F4...) mà không cần thay đổi. Cho nên các source code có sẵn trên mạng khá dễ để tái sử dụng lại.


2. Ngoại vi đầy đủ, thư viện phong phú


  • Hầu như các loại ngoại vi cần học và tìm hiểu thì STM32 đều có và hỗ trợ hết, hơn nữa mỗi dòng chip lại đi kèm với bộ SDK đầy đủ các ví dụ mẫu sử dụng cho từng loại. Thư viện nào mình thấy Arduino có thì STM32 cũng có, rất nhiều các dev đã porting đầy đủ. Cho nên học STM32 không sợ thiếu kiến thức để học, gần như là vô vàn thứ mới mẻ mà không thể học trong sớm chiều.
  • Ngoài ra các tài liệu đi kèm cũng được trình bày dễ hiểu, dễ dàng tìm kiếm thông tin và động tới tầng thanh ghi nữa.


3. Học 1 được nhiều


  • Phải nói là khi đã nắm chắc được cách thức lập trình STM32 rồi thì việc bạn chuyển sang code 1 dòng chip khác là rất dễ và nhanh chóng. Đây cũng là lý do mình hay tư vấn các bạn nên học chắc con chip này. Lợi thế trong phỏng vấn và tìm việc sau này.


4. Đa dạng và dễ mua


  • Chúng ta biết rằng các dòng chip của ST là vô cùng phong phú, nó có nhiều mô hình và bạn sẽ tìm được một cái phù hợp với những gì bạn cần. Phân phối bán hàng cũng rất tốt, có thể dễ dàng mua chip. Đó là 1 phần lý do vì sao rất nhiều kỹ sư chọn stm32 làm MCU.


5. Bắt buộc trong tuyển dụng


  • Sẽ là thiếu sót lớn nếu như trong quá trình tuyển dụng một kỹ sư lập trình nhúng lại không biết lập trình STM32. Bạn đương nhiên sẽ rơi vào thế khó và bị đánh giá kém.

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

  • Nắm chắc được các kiến thức cơ bản trong lập trình STM32 ví dụ như GPIO, EXTI, ADC, TIMER, PWM, UART...
  • Vận dụng được các ngoại vi cơ bản của STM32 vào ứng dụng thực tiễn.
  • Kĩ năng Debug chương trình trong quá trình phát triển.
  • Phát triển được khả năng bao quát bài toán.
  • Có nền tảng tốt để học lên các khóa học tiếp theo.

Yêu cầu đầu vào

  • Đã biết lập trình C

Nội dung khoá học

  • 1. Giới thiệu phần cứng chip STM32F103C8 và KIT Blue Pill.
  • 2. Giới thiệu hệ thống xung Clock của chip (giống Video 1)
  • 3. GPIO output. Cấu hình sử dụng Clock ngoại (HSE) và Clock nội (HSI) (giống Video 1)
  • 4. GPIO input, chống dội phím nút bấm bằng Hardware và Software
  • 5. Lập trình LCD 16x2 chế độ 8bit
  • 6. Lập trình Ngắt ngoài, các mức ưu tiên ngắt.
  • 7. Tìm hiểu System tick timer + HAL_Delay. Vì sao sử dụng HAL_Delay trong ngắt gây ra treo chương trình. Cách khắc phục.
  • 8. Lập trình Timer delay us (micro giây)
  • 9. Lập trình Timer Mode Input Capture đo tần số xung, ứng dụng cảm biến khoảng cách.
  • 10. Lập trình bộ điều chế PWM điều khiển sáng dần tối dần Led
  • 11. Lập trình PWM Input Mode đo Duty Cycle của xung vuông.
  • 12. ADC chạy chế độ Polling
  • 13. ADC chạy chế độ interrupt
  • 14. Lập trình LCD 16x2 chế độ 4 bit
  • 15. Lập trình mạch đèn tự động bật tắt theo độ sáng dùng quang trở
  • 16. Lý thuyết chuẩn giao tiếp UART
  • 17. Lập trình UART 2 chế độ Polling và Interrupt.
  • 18. Kết hợp sử dụng kỹ thuật Ring Buffer và UART.
  • 19. Kết hợp STM32 và module HC05 điều khiển tải qua Bluetooth.
  • 20. Lý thuyết về chuẩn giao tiếp I2C
  • 21. Giao tiếp I2C với Module thời gian thực DS1307
  • 22. Ứng dụng kết hợp đọc thời gian DS1307 hiển thị lên LCD 16x2.
  • 23. Tổ chức bộ nhớ flash, phân biệt flash, ram và EEPROM
  • 24. Thực hành đọc/ ghi/ xóa dữ liệu lên bộ nhớ Flash
  • 25. Tìm hiểu và Lập trình Bootloader Basic
  • 26. Lập trình Watchdog Timer chống treo chương trình.
  • 27. Lập trình USB CDC giao tiếp phần mềm máy tính.
  • 28. Giới thiệu về DMA, lập trình Memory to Memory
  • 29. Lập trình DMA cho ADC, Peripheral to Memory
  • 30. Hướng dẫn cài đặt phần mềm
  • 31. Tạo thời gian delay bất kì. Ứng dụng Blink Led non blocking. Lập trình chế độ Output Compare
  • 32. Tính thời gian bấm nút sử dụng timer. Ứng dụng đọc tín hiệu IR, RF433.
  • 33. Kết hợp ADC và PWM điều khiển độ sáng led và góc quay động cơ servo.

Đánh giá

Đánh giá từ các học viên sau khi hoàn thành khoá học