古法编程
ARM 嵌入式 C 开发(STM32)
开始学习
ARM · STM32 · HAL · FreeRTOS
ARM 嵌入式 C 开发
从寄存器到操作系统,系统掌握 STM32 嵌入式开发。
GPIO、定时器、中断、串口、I²C/SPI、DMA、FreeRTOS,10 章从原理到实战。
10
章节
ARM
Cortex-M4
STM32F4
系列
HAL
库 + 寄存器双路径
FreeRTOS
实时系统
课程目录
Chapter 01
嵌入式 C 入门
冯诺依曼架构、MCU vs MPU vs FPGA、ARM Cortex-M 系列介绍,搭建开发环境,点亮第一颗 LED。
架构
环境搭建
LED
Chapter 02
GPIO 与寄存器
寄存器直接操作 vs HAL 库、GPIO 四种工作模式、上下拉电阻、按键消抖、LED 呼吸灯软件 PWM。
GPIO
寄存器
HAL
PWM
Chapter 03
时钟系统与定时器
STM32 时钟树(HSE/HSI/PLL)、SysTick 定时器、基本/通用/高级定时器、PWM 输出、输入捕获。
时钟树
TIM
PWM
捕获
Chapter 04
中断系统
Cortex-M NVIC 架构、抢占优先级与子优先级、EXTI 外部中断、ISR 编写规范、临界区保护。
NVIC
EXTI
中断
Chapter 05
UART 串口通信
波特率/帧格式原理、RS232/RS485 差异、轮询/中断/DMA 三种收发、环形缓冲区、printf 重定向。
UART
DMA
printf
Chapter 06
I²C 与 SPI 总线
I2C 开漏/ACK/地址帧时序、SPI 四种模式(CPOL/CPHA)、驱动 OLED SSD1306、读写 Flash W25Q128。
I2C
SPI
OLED
Flash
Chapter 07
ADC 与 DAC
逐次逼近型 ADC 原理、参考电压与分辨率、多通道 DMA 采集、均值/卡尔曼滤波、读取 NTC 温度传感器。
ADC
DAC
滤波
温度
Chapter 08
DMA 直接内存访问
DMA 传输方向与通道仲裁、M2M/P2M/M2P 三种模式、双缓冲技术、与 UART/ADC/SPI 联合使用。
DMA
双缓冲
零拷贝
Chapter 09
FreeRTOS 实时操作系统
裸机 vs RTOS、任务状态机、调度算法、队列/信号量/互斥锁/事件组、堆内存管理、看门狗 IWDG/WWDG。
FreeRTOS
任务
RTOS
Chapter 10
实战:智能传感器节点
完整项目:DHT22 + BMP280 + OLED + UART 上报,FreeRTOS 多任务架构,低功耗 STOP/STANDBY 模式,Bootloader 概念。
实战
传感器
低功耗
Bootloader