正点原子《DMF407 开发指南 V1.0》以 STM32F407 为平台,基于 HAL 库 + MDK/CubeMX,从开发环境搭建、基础外设(GPIO/串口/SPI/I2C/CAN/USB)到进阶应用(FPU/DSP/IAP/FATFS)系统讲解。本分类按章节逐页精讲。
每章独立可打开,含原书插图、通俗讲解、代码示例、表格与小测验。
| 章节 | 主题 | 重点 |
|---|---|---|
| dev-01 | 本书学习方法 | 学习顺序、参考资料、代码规范、初学者建议 |
| dev-02 | STM32 简介 | STM32 家族、F407 资源、命名与选型 |
| dev-03 | 开发环境搭建 | MDK / DAP / CH340 驱动安装 |
| dev-04 | STM32 初体验 | 编译例程、DAP 烧录、MDK 使用技巧 |
| dev-05 | STM32 基础知识入门 | C 语言复习、寄存器、系统架构 |
| dev-06 | 新建寄存器版本 MDK 工程 | 工程结构、魔术棒配置 |
| dev-07 | 认识 HAL 库 | HAL 框架、MSP 回调、与标准库对比 |
| dev-08 | 新建 HAL 版本 MDK 工程 | CubeMX 生成、HAL 模板工程 |
| dev-09 | STM32 启动过程分析 | 启动模式、启动文件、MAP 分析 |
| dev-10 | STM32CubeMX 简介 | CubeMX 安装、新建工程、时钟树 |
| dev-11 | STM32 时钟系统 | HSE/PLL/SYSCLK、修改主频 |
| dev-12 | SYSTEM 文件夹介绍 | delay、sys、usart 模块 |
| dev-13 | 跑马灯实验 | GPIO 8 种模式、点亮 LED |
| dev-14 | 蜂鸣器实验 | 蜂鸣器驱动 |
| dev-15 | 按键输入事件 | 按键消抖、轮询读取 |
| dev-16 | 外部中断实验 | NVIC、EXTI 配置、中断回调 |
| dev-17 | 串口通信实验 | USART 协议、HAL 收发、printf 重定向 |
| dev-18 | 独立看门狗(IWDG)实验 | LSI、12 位递减、喂狗 |
| dev-19 | 窗口门狗(WWDG)实验 | 窗口限制、早期唤醒 |
| dev-20 | TFT-LCD 实验 | FSMC 驱动 8080 接口 |
| dev-21 | USMART 调试组件实验 | 串口命令解析、函数指针 |
| dev-22 | RTC 实时时钟实验 | 后备供电、Calendar、闹钟 |
| dev-23 | 硬件随机数实验 | RNG 真随机数 |
| dev-24 | 低功耗实验 | 睡眠/停止/待机三种模式、PVD |
| dev-25 | DMA 实验 | DMA 控制器、通道、UART DMA |
| dev-26 | IIC 实验 | I2C 协议、AT24C02 读写 |
| dev-27 | SPI 实验 | SPI 四线制、W25Q64 读写 |
| dev-28 | 485 实验 | RS-485 差分、半双工收发切换 |
| dev-29 | 232 实验 | RS-232 电平转换、SP3232 |
| dev-30 | CAN 通讯实验 | bxCAN、标识符、SN65HVD230 |
| dev-31 | 触摸屏实验 | FT/GT 触摸 IC、坐标校准 |
| dev-32 | DS18B20 数字温度传感器实验 | 单总线协议、温度转换 |
| dev-33 | DHT11 数字温湿度传感器 | 单总线 40 bit 数据帧 |
| dev-34 | FLASH 模拟 EEPROM 实验 | Flash 读写擦、寿命 |
| dev-35 | 内存管理实验 | 内存池、mymalloc/myfree |
| dev-36 | FPU 测试(Julia 分形)实验 | FPU 单精度浮点加速 |
| dev-37 | DSP 测试实验 | CMSIS-DSP、FIR/FFT |
| dev-38 | 串口 IAP 实验 | Bootloader + App、Ymodem |
| dev-39 | USB 读卡器(Slave)实验 | Mass Storage、SCSI、Bulk 传输 |
| dev-40 | USB 虚拟串口(Slave)实验 | CDC ACM、虚拟 COM 端口 |
| dev-41 | USB 鼠标键盘(Host)实验 | HID 报表描述符、Boot 协议 |
| dev-42 | USB U 盘(Host)实验 | USB Host、FATFS 文件系统 |
| dev-43 | 汉字显示实验 | GBK 编码、字库、取模 |
程序跑飞时的定位方法:读寄存器、解栈帧、查 CFSR,把 HardFault 从「玄学」变成可修复的具体问题。
| 章节 | 主题 | 重点 |
|---|---|---|
| dbg-01 | HardFault 死机排查 | LR 选栈、栈帧挖 PC、CFSR 判类型、自动打印现场 |