基于事件流的手环运行周期仿真模拟
STC32G12K128
QFN-32 封装物理引脚图
点击引脚进行核对
1. 基于 架构.odg 的事件驱动 APP 框架层级关系
本工程手环固件采用 **事件驱动式的 App 生命周期框架**(Event-Driven App-Framework)。整个软件系统划分为五个层级:
- 1. 应用业务层 (Applications):各个独立的业务(如时钟显示、配对管理、主动紧急求救)被封装为具有统一回调接口的 App 对象。各 App 不得直接竞争 CPU 时间片。
- 2. 应用管理层 (APP Management):提供 `StartApp` / `CloseApp` 接口调度活跃 App,控制页面跳转及 App 生命周期钩子(OnStart、onRun、onClose、onEvent)的执行。
- 3. 事件总线层 (Event Layer):提供数据解耦。底层中断产生物理事件(KeyEvent/RFEvent)后封装并压入环形事件队列。主循环从中 Pop 出事件,并调用活跃 App 的 `onEvent` 回调接口消费。
- 4. 中断与驱动层 (Drivers):按键移位检测、RF解调算法、Timer1 定时器时基心跳、AMOLED 显示渲染、WS2812B 幻彩 LED 控制及马达振动波形时序。
- 5. 硬件实体层 (STC32 HW):STC32G12K128 单片机的寄存器和 GPIO 引脚。
2. 活跃应用与后台应用的生命周期回调关系
为了在有限内存的 8051 架构上提供多页面交互,各个 App 具有极简的声明周期钩子:
当发生应用切换(如对码成功返回时钟,或者超时自动休眠)时,APP 管理器通过调用原 App 的 `onClose()` 并调用新 App 的 `OnStart()`,能够以极其干净的方式清空定时器、马达振动、彩灯时序状态,避免不同业务状态之间的时序冲突。
3. 自适应无线解调事件产生机制
无线射频解码采用非阻塞中断比值测量法:
当 LR690L 在天线收到脉冲时,引脚 P0.0 的电平沿触发 INT2 外部中断。RF 驱动测量低电平前导脉冲宽度,若落在 1500us~60000us 内则被确认为合法的同步头,并反算基准时基 T=low_time/31。
随后在接收循环中,基于 T 的宽度自适应滤出 24 位 EV1527 二进制序列(1:3 宽为 0 码,3:1 宽为 1 码),并将其封装为 `RF_PAIR_EVENT` 或 `RF_ALARM_EVENT` 压入环形缓冲区,不阻塞主时钟。