🩺
血压计状态机架构设计
📘 嵌入式软件 · 30章 从入门到实战
📚 完整目录
30讲
01
血压计项目概述
背景
项目背景 · 功能需求 · 硬件平台 (MCU/传感器/气泵/阀门/LCD)
→
02
状态机基础理论
FSM
有限状态机概念 · 状态/事件/转移/动作
→
03
状态机顶层设计
系统级
空闲/充气/测量/放气/结果显示/错误处理
→
04
空闲状态详解
低功耗
上电初始化 · 自检 · 等待按键 · 低功耗模式
→
05
充气状态详解
气泵
气泵驱动 · 压力阈值 · 充气速率 · 异常检测
→
06
测量状态详解
示波法
示波法原理 · 信号采集 · 特征点提取 (收缩压/舒张压)
→
07
放气状态详解
阀门PWM
线性放气 · 阀门PWM驱动 · 放气速率与精度
→
08
结果显示状态
LCD
LCD驱动 · UI布局 · 数值/心率/异常码显示
→
09
错误处理状态
异常
错误码定义 · 传感器故障 · 气路堵塞 · 过压保护
→
10
状态转移表设计
矩阵
状态与事件二维矩阵 · 转移条件 · 动作函数映射
→
11
事件驱动机制
事件
按键/定时器/传感器/通信事件
→
12
定时器管理
时间
系统滴答 · 状态超时 · PWM · 看门狗
→
13
按键扫描与消抖
输入
硬件去抖 · 软件延时 · 状态机消抖 · 长按短按
→
14
压力传感器驱动
ADC
ADC配置 · 校准 · 滤波 (移动平均/中值)
→
15
气泵与阀门驱动
PWM
GPIO控制 · PWM调速 · 驱动保护 · 电流检测
→
16
LCD显示驱动
SPI/I2C
接口驱动 · 字库加载 · 多级菜单 · 清屏策略
→
17
数据存储与回放
存储
EEPROM/Flash · 测量记录 · 历史查询
→
18
低功耗设计
省电
睡眠模式 · 唤醒源 · 外设电源 · 电池监测
→
19
通信协议设计
UART/蓝牙
数据包格式 · 校验和 · 命令解析
→
20
安全与异常处理
保护
过压/超时保护 · 传感器自检 · 看门狗复位
→
21
状态机实现框架
C语言
结构体实现 · 函数指针表 · switch-case对比
→
22
代码分层架构
HAL
硬件抽象层 · 驱动层 · 服务层 · 应用层
→
23
单元测试与仿真
测试
测试用例 · 模拟输入 · 覆盖率分析
→
24
调试与日志
调试
串口打印 · 状态轨迹 · 断言 · 错误日志
→
25
状态机优化
优化
状态合并 · 事件优先级 · 临界区 · 实时性
→
26
多状态机协同
并行
测量/UI/通信状态机并行运行
→
27
实际项目案例
实战
品牌血压计源码解析 · 踩坑经验分享
→
28
医疗器械认证
IEC 60601
标准 · 风险管理 · 软件确认
→
29
未来扩展
智能
智能血压计 · 云端同步 · AI辅助诊断
→
30
课程总结与实战
项目
从零搭建血压计状态机 · 代码评审 · 优化建议
→