MCU 新手完整指南:環境設定、燒錄流程、週邊控制與開發架構一步到位
確認 MCU 型號與資源
- 先知道你手上的 MCU 型號(例如 STM32F103、ESP32、ATmega328P…)
- 查資料手冊(Datasheet)與參考手冊(Reference Manual):
- Datasheet:針對電氣規格、封裝、腳位。
- Reference Manual:內部週邊(UART、ADC、PWM、I²C 等)操作。
- 確定 MCU 的 Flash 容量、RAM、大概可以跑多大的程式。
確定開發環境
MCU 開發通常需要三件東西:
開發板/連線介面:
- 若是裸晶(裸 MCU),你可能需要燒錄器(Programmer/Debugger),例如 ST-LINK、J-Link、USBASP。
- 若是有開發板(如 Arduino、Nucleo、ESP32 DevKit),會方便很多。
IDE / 工具鏈:
- STM32:STM32CubeIDE 或 Keil MDK 或 PlatformIO。
- AVR / Arduino:Arduino IDE 或 PlatformIO。
- ESP32:ESP-IDF 或 Arduino IDE。
- 通用:GCC + Makefile。
燒錄器 / Debugger:
- MCU 要先能上程式,需要透過 UART/USB/JTAG/SWD 上傳。
連線與燒錄
- 如果 MCU 有內建 USB,可以直接用 USB 上傳程式。
- 如果沒有 USB,需要用 Programmer:
- 透過 SWD、JTAG 或 ISP 連線 MCU。
- 安裝對應驅動與軟體(例如 ST-LINK Utility)。
- 用 IDE 編譯程式後燒錄到 MCU。
寫你的第一個程式
通常第一個程式是 「LED 閃爍」:
- 初始化 GPIO。
- 設定一個腳位輸出。
- 用
while(1)迴圈切換高低電位。 - 燒錄後看 LED 閃爍,就代表 MCU 可以正常開發。
學習週邊操作
接下來可以逐步操作:
GPIO:輸入、輸出、按鍵、LED。
UART / I²C / SPI:通訊介面。
ADC / DAC:模擬訊號讀取或輸出。
PWM / Timer:馬達控制、定時。
Interrupt 中斷:事件驅動程式。
開發流程與架構
- MCU 程式通常是 裸機或 RTOS:
- 裸機:單一 while loop + 中斷。
- RTOS(FreeRTOS, Zephyr…):任務分工,管理資源。
- 建議養成 分層架構:
- HAL 層 / Driver:控制硬體。
- Middleware / Service:通訊協議、演算法。
- Application 層:最終功能。
調試與測試
- 利用 IDE 的 Debug 功能:
- 斷點、Step-by-step、Watch 變數。
- 串 Serial / USB 對電腦輸出 debug log。
- 使用示波器或邏輯分析儀看訊號。
後續進階
- 做通訊(Wi-Fi / BLE / LoRa)。
- 做感測器整合(溫濕度、IMU)。
- 用 DMA 提升效能。
- 整合到 PCB / 自製硬體。
