🪒 防水检测 · 嵌入式实战
📘 30章 从入门到产线
✨ IPX7 · 状态机 · FreeRTOS
01
项目背景与需求分析
IPX7标准
检测原理
硬件架构
02
开发环境搭建
Keil MDK
STM32CubeMX
J-Link
03
GPIO基础与LED控制
推挽输出
状态指示
模式配置
04
按键输入与消抖
机械按键
硬件/软件消抖
状态机
05
定时器基础
SysTick
基本定时器
1ms中断
06
ADC基础与电压检测
单次转换
水位传感器
电压采集
07
水位传感器原理
电容式/电阻式
信号调理
阈值设定
08
防水检测主逻辑
状态机设计
ADC阈值
待机/报警
09
看门狗应用
IWDG
防跑飞
喂狗策略
10
低功耗模式
睡眠/停止/待机
唤醒源
功耗优化
11
EEPROM模拟与参数存储
内部Flash模拟
阈值校准
掉电保存
12
串口通信 (UART)
UART配置
printf重定向
调试信息
13
I2C通信与外部传感器
I2C协议
温湿度传感器
可选扩展
14
SPI通信与显示驱动
SPI协议
OLED显示
状态界面
15
PWM与蜂鸣器控制
PWM输出
蜂鸣器报警
音调配置
16
RTOS基础 (FreeRTOS)
移植
任务创建
调度入门
17
RTOS任务划分
检测任务
报警任务
通信/看门狗
18
消息队列与任务同步
队列传递
二值信号量
同步机制
19
软件定时器
RTOS定时器
周期性检测
灵活调度
20
故障注入与容错设计
模拟故障
软件冗余
安全状态
21
单元测试框架
Unity/CMock
测试用例
自动化
22
集成测试与HIL
测试环境
自动化脚本
硬件在环
23
Bootloader设计
分区规划
固件升级
CRC校验
24
生产测试与校准
产线流程
校准算法
良率优化
25
EMC与抗干扰设计
硬件滤波
软件去抖
看门狗防护
26
文档与版本管理
Doxygen
Git分支
协作规范
27
代码审查与质量度量
MISRA-C
圈复杂度
静态分析
28
量产烧录与序列号管理
离线烧录
唯一ID
序列号写入
29
现场故障排查
日志分析
远程诊断
恢复出厂
30
项目总结与展望
经验教训
AI检测
无线连接