窗帘电机 · 单元测试

30章 嵌入式验证
01 课程导论与测试环境搭建
  • 测试概述
  • 单元测试概念
  • Ceedling/Unity/CMock
  • VS Code+GCC+Makefile
02 电机控制基础与PWM测试
  • PWM原理
  • DRV8833控制
  • 占空比与速度
  • PWM单元测试
03 霍尔传感器与位置检测
  • 霍尔工作原理
  • 脉冲计数/位置换算
  • ISR测试方法
  • 模拟霍尔信号
04 限位开关与边界保护
  • 上限/下限位逻辑
  • 软/硬件限位配合
  • 边界条件用例
  • 异常恢复测试
05 电机堵转检测与保护
  • 堵转电流检测
  • ADC采样/阈值
  • 堵转状态机
  • 保护单元测试
06 速度闭环控制(PID)
  • PID算法简介
  • 位置环/速度环
  • 参数整定
  • Mock被控对象测试
07 目标位置控制(绝对位置)
  • 绝对位置设定/存储
  • 位置误差计算
  • 梯形/S形曲线
  • 位置控制单元测试
08 遥控器解码与指令解析
  • RF/IR协议(NEC)
  • 解码状态机
  • 指令解析/校验
  • 解码模块单元测试
09 Wi-Fi/BLE通信模块测试
  • 串口AT指令解析
  • MQTT/CoAP Mock
  • 超时/重传机制
  • 通信模块单元测试
10 任务调度与RTOS集成
  • FreeRTOS任务管理
  • 队列/信号量
  • 调度行为测试
  • Mock RTOS API
11 状态机与行为建模
  • 窗帘状态机设计
  • 状态转换表
  • 事件驱动测试
  • 覆盖度分析
12 参数存储与NVM测试
  • EEPROM/Flash驱动
  • 参数序列化
  • 校验和/磨损均衡
  • NVM单元测试
13 看门狗与系统监控
  • IWDG/WWDG
  • 喂狗策略
  • 系统健康检查
  • 看门狗复位测试
14 低功耗模式与唤醒源
  • 睡眠/停止/待机
  • 外部中断唤醒
  • 定时器唤醒
  • 低功耗切换测试
15 错误处理与日志系统
  • 错误码定义
  • 错误记录/上报
  • 日志等级/输出
  • 错误处理单元测试
16 固件升级(OTA)测试
  • Bootloader设计
  • 固件校验CRC/SHA
  • 升级失败回滚
  • OTA流程单元测试
17 安全机制与防夹手功能
  • 防夹手电流/力矩
  • 安全反转逻辑
  • 安全功能用例
  • 故障注入测试
18 多电机同步控制
  • 多电机协调算法
  • 同步误差补偿
  • 总线通信同步
  • 多电机同步单元测试
19 用户配置与场景模式
  • 场景保存/调用
  • 定时任务
  • 光感/雨感联动
  • 配置管理测试
20 硬件抽象层(HAL)测试
  • HAL设计原则
  • GPIO/ADC/Timer抽象
  • Mock HAL驱动
  • HAL层单元测试
21 中断管理与优先级
  • 中断嵌套/优先级分组
  • 临界区保护
  • 中断延迟测量
  • 中断单元测试
22 时间测量与性能分析
  • 代码执行时间(DWT)
  • CPU负载率
  • 性能基准测试
  • 时间关键路径测试
23 内存管理与堆栈分析
  • 静态 vs 动态分配
  • 堆栈溢出检测
  • 内存泄漏检测
  • 内存使用率单元测试
24 代码静态分析与编码规范
  • MISRA-C规范
  • PC-Lint/Cppcheck
  • 圈复杂度计算
  • 静态分析报告
25 测试覆盖率分析
  • 语句/分支/MC/DC
  • gcov/lcov工具
  • 覆盖率目标设定
  • 覆盖率报告