編程學會課程

提升青少年技術,促進深化交流,培養興趣。編程在現代社會中的重要性不言而喻,編程可以幫助我們理解和解決複雜的問題。透過編程,我們可以將大問題分解為小問題,並逐一解決。
Java 52堂網上課程
Object Oriented Programming, Java Swing, Maven, Netbeans
難度
OS實驗教學
Assembly, Linker, Loader, Debugger, Computer Architecture
難度
Python起步課程
Computer Programming, Python Coding, Python Libraries
難度
STM32電腦體系結構
Assembly, C
難度
兒童Computer Architecture課程
Computer Programming, Data Analysis, Java Programming, OOP
難度
兒童課程 (小一至小三)
This course introduces young learners to the fascinating world of coding through fun and engaging activities. Students will explore the fundamentals of programming, develop problem-solving skills, and unleash their creativity.
難度
兒童課程 (小四至小六)
Get ready for an exciting adventure into the world of coding! Our Coding Adventure course is specially crafted for primary school students, blending fun and learning in a way that sparks curiosity and creativity.
難度
青少年編程課程 (中一至中三)
This course provides a comprehensive introduction to Java, one of the most widely used programming languages in the industry. Students will learn both the fundamentals and advanced concepts, equipping them with the skills needed for future studies and careers in technology.
難度
青少年編程課程 (中四至中六)
This course delves deeper into Java programming, focusing on advanced concepts and real-world applications that prepare students for college-level coursework and careers in technology.
難度
STM32電腦體系結構

課程目標

  • 理解STM32微控制器的體系結構及其基於ARM Cortex-M的核心原理。
  • 掌握STM32的記憶體管理、外設功能及編程方法。
  • 通過實操項目應用STM32架構知識,開發簡單的嵌入式系統。

以下是一個針對「STM32電腦體系結構課程」的大綱設計,涵蓋STM32微控制器(基於ARM Cortex-M核心)的核心架構、功能模組及實操應用。此大綱適合初學者到中級學習者,旨在幫助理解STM32的體系結構並掌握嵌入式開發技能。如果您有特定需求(例如進階主題或專注某個STM32系列),我可以進一步調整。


STM32電腦體系結構課程大綱

課程目標

  • 理解STM32微控制器的體系結構及其基於ARM Cortex-M的核心原理。
  • 掌握STM32的記憶體管理、外設功能及編程方法。
  • 通過實操項目應用STM32架構知識,開發簡單的嵌入式系統。

課程時長

  • 建議8-12週,每週2-3小時理論+2小時實操(可根據需求調整)。

第一部分:基礎與架構概述

第1週:STM32與嵌入式系統簡介

  • 嵌入式系統概述及其應用場景
  • STM32家族介紹(低功耗、高性能、主流系列)
  • ARM Cortex-M核心基礎(Cortex-M0/M3/M4/M7差異)
  • 工具準備:STM32CubeIDE、Keil uVision、開發板(Nucleo/Discovery)

第2週:ARM Cortex-M核心架構

  • RISC與哈佛架構原理
  • Cortex-M處理器結構:寄存器組、流水線、中斷控制器(NVIC)
  • 指令集簡介(Thumb-2技術)
  • 實操:點亮第一個LED(GPIO基礎配置)

第二部分:記憶體與時鐘系統

第3週:記憶體架構

  • 記憶體映射:Flash、SRAM、外部記憶體
  • 啟動模式(從Flash啟動、系統記憶體啟動)
  • 位操作與寄存器級編程基礎
  • 實操:配置GPIO寄存器控制LED閃爍

第4週:時鐘與功耗管理

  • 時鐘樹結構(HSE、HSI、PLL)
  • 時鐘配置與外設時鐘啟用
  • 功耗模式:睡眠、停止、待機
  • 實操:使用STM32CubeMX生成時鐘配置代碼

第三部分:核心外設與功能模組

第5週:GPIO與中斷

  • GPIO結構與工作模式(輸入、輸出、模擬、復用)
  • 中斷系統:NVIC配置與外部中斷(EXTI)
  • 實操:按鈕觸發中斷控制LED

第6週:定時器與計時

  • 定時器架構(基本定時器、高級定時器)
  • PWM輸出與輸入捕獲原理
  • 實操:生成PWM信號控制LED亮度

第7週:通信接口

  • UART/USART:串口通信基礎
  • SPI與I2C:主從模式與數據傳輸
  • 實操:通過UART實現STM32與PC通信

第8週:模數與數模轉換

  • ADC(模數轉換器):單通道與多通道採樣
  • DAC(數模轉換器):波形生成
  • 實操:使用ADC讀取電壓並通過UART傳輸

第四部分:進階主題與實操項目

第9週:DMA與數據處理

  • DMA(直接記憶體存取)原理與配置
  • 緩解CPU負擔的數據傳輸應用
  • 實操:使用DMA傳輸ADC數據

第10週:系統設計與調試

  • 系統啟動流程(向量表、啟動文件)
  • 調試技術:斷點、單步執行、變量監控
  • 實操:編寫簡單多任務程序(無RTOS)

第11-12週:綜合項目

  • 項目設計:基於STM32的環境監測系統
    • 使用ADC採集溫度數據
    • 通過UART或I2C與外部模組通信
    • PWM控制風扇或顯示器亮度
  • 項目調試與優化
  • 成果展示與總結