使用 CMSIS、FreeRTOS 和 Modbus 以及空氣品質感測器專案,透過 STM32 開發實際嵌入式軟體技能
從這 12.5 小時的課程,你會學到
- 使用 FreeRTOS 進行嵌入式軟體開發。
- 使用 CMSIS 實作暫存器級 STM32 週邊驅動程式,並使用 FreeRTOS 進行同步。
- 在結構化的 STM32 專案中整合和配置 FreeRTOS。
- 設計用於資料擷取、錯誤處理、系統健康監控和通訊的應用級 FreeRTOS 任務。
- 建構並整合帶有寄存器映射的自訂 Modbus RTU 框架。
- 使用 FreeRTOS 佇列、信號量、互斥鎖和任務通知來同步任務並管理共用資源。
- 將感測器驅動程式(SHT3x、SGP40)和 SPI FRAM 記憶體整合到可擴展的空氣品質感測器專案中。
- 藉助圖表和參考設計來理解嵌入式軟體架構和流程。
- 透過課程中提供的專業圖表,深入了解流程、行為和設計。
要求
- 具備微控制器暫存器級程式設計的基本經驗
- 熟悉 FreeRTOS 基礎(任務、延遲、基本用法)
- 精通嵌入式 C 編程
- 本課程針對已有一定嵌入式程式設計基礎的學習者,不適合完全零基礎的初學者。
課程說明
本課程包含人工智慧的應用。
(最後一節包含我本人錄製的語音的 AI 輔助旁白,僅因製作期間我暫時生病而使用。該部分目前正在重新錄製,並將更新為自然語音旁白。)
如果您已經探索過 STM32 驅動程式開發或 FreeRTOS 的基礎知識,您可能正在尋找下一步:將這些技能整合到實際的專業專案中。
本課程正是為此而設計的。您將使用 STM32 Nucleo 開發板,從零開始建立一個完整的室內空氣品質感測器項目,開發並整合基於 CMSIS 的週邊驅動程式、FreeRTOS 任務和自訂 Modbus RTU 框架,最終形成一個結構化的嵌入式軟體專案。
透過逐步完成設計和實現,您不僅將學習這些元素各自的工作原理,還將學習如何架構、同步和整合它們,最終形成一個連貫的實際應用。
課程介紹
我們從基礎知識開始:
- 整合 CMSIS 進行暫存器級開發。
- 整合 FreeRTOS 作為即時作業系統。
- 建立 FreeRTOS 啟動任務。
- 設定係統時鐘並建立清晰的專案結構。
在此基礎上,我們逐步建立專案:
- 編寫簡潔的 GPIO 驅動程式以及使用 FreeRTOS 訊號量進行同步的非阻塞 UART、SPI 和 I2C 驅動程式。
- 開發應用級 FreeRTOS 任務,用於處理資料收集、處理和通訊。
- 新增外部硬體:Sensirion 環境感測器(例如 SHT3x、SGP40)以及用於資料儲存的基於 SPI 的自訂 FRAM 驅動程式。
- 整合自訂 Modbus RTU 框架,並建立支援通訊和資料處理的應用程式級任務。
每個部分都會逐步添加,因此您不僅能看到程式碼,還能了解設計選擇背後的原因。
預期成果
課程結束時,您將能夠:
- 一個基於 STM32 MCU 的完整空氣品質感測器專案。
- 能夠使用 CMSIS 編寫暫存器級驅動程式。
- 具備應用 FreeRTOS 同步機制(佇列、信號量、互斥鎖和任務通知)的經驗。
- 擁有 Modbus RTU 整合和實現的實務經驗。
- 對如何建立和擴展專業嵌入式專案有清晰的理解。
這並非孤立的演示,而是學習如何在真實的開發環境中建立嵌入式軟體。
其他值得關注的亮點
- 全程採用專業的模組化程式設計風格。
- I2C、SPI 和 UART 驅動程式均採用 FreeRTOS 同步機制實現,確保無阻塞運作。
- 錯誤處理、系統健康監控、感測器資料收集、Modbus 從站和 Modbus 資料管理器均以 FreeRTOS 任務的形式實現。
- 本計畫採用循序漸進的增量式開發模式。
- 感測器和外部記憶體的實際整合。
硬體
- STM32F446RE Nucleo Board (推薦)
- 僅使用這塊開發板即可完成課程的大部分內容,因此您可以立即開始學習。
- 外部感測器(I2C 溫濕度感測器和 VOC 指數感測器)和 SPI FRAM 可在您獲得後自行整合。
軟體
- STM32CubeIDE
- 用於測試通訊的 Modbus 主站工具(例如 Simply Modbus Master)。
目標受眾
- 希望超越簡單演示,學習如何建立專業STM32專案的嵌入式開發人員。
- 具備STM32和FreeRTOS基礎知識,希望將驅動程式、任務和通訊協定整合到實際應用中的工程師。
- 旨在建立完整的嵌入式專案(室內空氣品質感測器),同時掌握基於 CMSIS 的驅動程式、FreeRTOS 同步和 Modbus 整合的學習者。
講師簡介
Embedded Insights 嵌入式軟體工程師
嵌入式軟體工程師,擁有布拉格捷克技術大學電子與通信碩士學位和紐約理工學院電機與計算機工程學士學位。 我在嵌入式軟體開發方面經驗豐富,在專業方面,我主要使用 ESP32 和 STM32 MCU。
目前,我是一名嵌入式軟體工程師,喜歡幫助他人發展他們的知識。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
- ✨年訂閱每月 NT350 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- 嵌入式系統相關線上課程
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入
發表迴響