:看门狗、低功耗与FreeRTOS)
STM32 零基础系列第 7 篇从能运行走向可靠、节能和多任务。第 12 章看门狗与可靠性章节介绍看门狗像一位值班员。如果程序长期不“报平安”值班员就认为系统卡死并自动复位。专业名词IWDG独立看门狗通常由独立低速时钟驱动。WWDG窗口看门狗必须在规定时间窗口内喂狗。喂狗刷新计数器表示程序仍然正常运行。HardFault严重异常常由非法地址、栈溢出或函数指针错误引起。HAL_IWDG_Refresh(hiwdg);不要只在while(1)末尾无条件喂狗否则某个任务卡死时主循环仍可能继续喂狗故障就无法被发现。应由关键任务共同更新健康标志。本章掌握标准能配置超时时间和复位行为。能保存复位原因并在下次启动时打印。能使用断点、寄存器和栈信息分析 HardFault。未来使用场景无人值守设备、工业控制、汽车电子、远程传感器和安全相关系统。第 13 章低功耗章节介绍低功耗不是简单地“降低 CPU 频率”而是根据工作状态关闭不需要的时钟和电源。常见模式SleepCPU 停止外设继续工作。Stop更多时钟停止可由中断唤醒。Standby功耗最低唤醒后通常像重新启动。形象理解普通工作像办公室全员上班Sleep 是员工休息但设备开着Stop 是关灯并关闭大部分设备Standby 则像整个办公室断电只有门禁还在工作。本章掌握标准能计算电池设备的平均电流和续航时间。能选择合适的唤醒源。能处理唤醒后的时钟和外设重新初始化。未来使用场景电池传感器、穿戴设备、无线节点、手持仪表和智能家居。第 14 章FreeRTOS章节介绍裸机主循环适合小项目当项目同时包含通信、显示、采集和控制时可以使用 RTOS 管理多个任务。FreeRTOS 像一个调度员让不同任务轮流使用 CPU。专业名词Task任务类似独立的无限循环函数。Scheduler调度器决定哪个任务运行。Queue队列在任务之间传递数据。Semaphore信号量表示资源或事件。Mutex互斥锁保护共享资源。Priority优先级。Tick系统节拍。任务示例voidSensorTask(void*argument){for(;;){ReadTemperature();osDelay(100);}}voidDisplayTask(void*argument){for(;;){RefreshDisplay();osDelay(20);}}RTOS 不是越早学越好。应先熟悉 GPIO、定时器、中断和串口否则遇到任务阻塞、优先级反转或资源竞争时很难排错。本章掌握标准能创建任务、队列、信号量和互斥锁。能解释任务阻塞、抢占和优先级。能避免在多个任务中同时操作同一个 UART、SPI 或显示屏。未来使用场景网络设备、复杂人机界面、多传感器网关、机器人和需要并发处理的产品。