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 / 自製硬體。

      Similar Posts