消费电子低功耗不是“主循环最后加一句WFI”就完事。电流大头分布在四层:主频动态功耗、外设时钟门控、GPIO漏电、睡眠模式选择。调睡眠前不收时钟,Sleep模式照样几mA;睡眠选太深又频繁唤醒,进出功耗反而比不睡还高。
智能手表固件压到512KB,不是最后用压缩算法“压一下bin”,而是从构建链到资源表全程做减法。Cortex-M0/M4这类MCU没有多余Flash给你塞全量HAL、完整printf、整本中文字库。正路是:编译器砍死代码、链接器回收段、资源只带用到的、日志和浮点库能省就省。
自激振荡是指系统在没有外部周期性激励信号输入的前提下,依靠自身的非线性特性和内部正反馈机制,自发产生的持续稳定的周期性振荡现象。
手环计步不是“加速度超阈值就+1”。手腕运动复杂,抬手、敲键盘、甩臂都会出尖峰,固定阈值一上就乱计。 低资源MCU里正确做法是:三轴合成→轻量滤波→动态阈值→峰谷配对→步频窗口过滤→连续合法步才计数。算法本身不重,重的是别用浮点堆、别主循环轮询、别每步刷屏。
7天续航不是挑颗低功耗MCU就完事。200~300mAh电池摊到7天,平均电流得压到1.5mA以内,屏、传感器、BLE、MCU各占一块预算。 代码层要做的就一句:系统99%时间睡着,唤醒只干必要活,干完立刻回去睡。
智能晾衣架最怕三件事:升到顶不停烧电机、降到底继续拽断钢丝、中途卡住还硬推。固件不能把“按键→拉高GPIO”当控制逻辑,得做成状态机:方向指令只改目标,电机执行、限位消抖、电流判堵转全在定时任务里跑。