01
课程导学与开发环境搭建
课程目标与学习路径 · STM32与Modbus概述 · 硬件准备 · 软件安装 · 点亮LED验证环境
环境入门
02
STM32基础与GPIO控制
STM32系列 · GPIO工作原理 · 寄存器与库函数 · HAL库输出配置 · 按键输入消抖
GPIOHAL库
03
STM32中断系统
NVIC控制器 · 外部中断EXTI · 优先级分组 · 中断服务函数 · 应用场景
中断NVIC
04
STM32定时器详解
SysTick · 基本/通用定时器 · PWM输出 · 输入捕获 · 定时器中断
定时器PWM
05
串口通信基础 (UART)
串口原理 · USART外设 · HAL库初始化 · 轮询收发 · 波特率设置
UART基础
06
串口中断与DMA传输
中断收发 · 空闲中断IDLE · DMA原理 · 串口DMA实战 · 环形缓冲区
DMA中断
07
Modbus协议基础
发展史 · RTU与ASCII · 物理层RS-232/485 · 帧结构 · 主站/从站模型
Modbus协议
08
Modbus RTU帧结构与CRC校验
RTU报文格式 · CRC-16原理 · 查表法与计算法 · 校验代码 · 错误排查
CRCRTU
09
Modbus功能码详解 (一)
01H读线圈 · 02H读离散输入 · 03H读保持寄存器 · 04H读输入寄存器
功能码读取
10
Modbus功能码详解 (二)
05H写单个线圈 · 06H写单个寄存器 · 0FH写多线圈 · 10H写多寄存器 · 异常响应
写入异常
11
STM32 Modbus从站实现 (一)
协议栈架构 · 串口接收与帧解析 · 地址匹配 · 功能码分发 · 寄存器映射
从站架构
12
STM32 Modbus从站实现 (二)
03H读保持寄存器 · 06H写单个寄存器 · 16H写多寄存器 · 边界与异常
寄存器实现
13
STM32 Modbus从站实现 (三)
01H/05H线圈操作 · 02H/04H离散输入 · 位/字节转换 · 完整从站整合
线圈整合
14
Modbus主站实现
主站状态机 · 请求与响应 · 超时重传 · 批量轮询 · 代码框架
主站状态机
15
RS-485硬件与通信
RS-485标准 · 半双工控制 · 自动收发电路 · 终端匹配 · 多机组网
RS-485硬件
16
Modbus ASCII模式
ASCII帧格式 · LRC校验 · RTU/ASCII切换 · 实现要点 · 适用场景
ASCIILRC
17
Modbus TCP协议
MBAP头 · TCP与RTU映射 · LWIP简介 · STM32+W5500从站 · 以太网调试
TCP以太网
18
FreeModbus协议栈移植
FreeModbus源码 · 移植接口 · 配置裁剪 · 从站移植 · 主站扩展
FreeModbus移植
19
LibModbus库使用 (上位机)
LibModbus安装 · 主站API · 读写从站 · 批量操作 · Python调用
LibModbus上位机
20
串口助手与Modbus调试工具
串口助手 · Modbus Poll/Slave · 报文抓取 · 调试技巧 · 常见问题
调试工具
21
逻辑分析仪与示波器调试
抓取UART波形 · 解析Modbus · 波特率误差 · 信号质量 · 硬件故障排查
逻辑分析仪示波器
22
数据采集与监控系统实战 (一)
需求分析 · 系统架构 · 传感器选型 · ADC/I2C/SPI · 任务调度
采集架构
23
数据采集与监控系统实战 (二)
Modbus地址规划 · 数据更新同步 · 从站代码 · 上位机读取显示
寄存器同步
24
数据采集与监控系统实战 (三)
上位机开发(C#/Python) · 界面设计 · 曲线绘制 · 轮询记录 · 联调测试
上位机可视化
25
多从站组网与总线管理
地址分配 · 冲突避免 · 广播模式 · 总线监测 · 故障剔除
组网管理
26
Modbus通信性能优化
波特率选择 · 报文间隔 · 批量读写 · DMA/中断优化 · 实时性
性能优化
27
Modbus安全与可靠性
通信干扰防护 · CRC重传 · 看门狗 · 数据备份 · 工业环境
安全可靠性
28
Modbus与物联网云平台
MQTT协议 · ESP8266/4G · 数据上云 · 阿里云/OneNET · 远程告警
物联网云平台
29
综合项目:智能温控系统
需求定义 · PID控制 · 远程设定 · 硬件设计 · 软件分层 · Modbus接口
综合项目温控
30
课程总结与进阶方向
知识体系回顾 · FAQ · 进阶路线(EtherCAT/CANopen) · 开源项目 · 职业建议
总结进阶