feat: add STM8 mesh relay firmware

This commit is contained in:
十七
2026-11-02 20:30:08 +08:00
commit d275a3523b
27 changed files with 2985 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
/**
* @file watchdog.c
* @brief STM8S003 独立看门狗实现。
*
* 看门狗只在主循环末尾刷新。任何任务死循环或长期阻塞超过约 5 秒,
* 都会触发 MCU 复位;复位后 main() 从头执行,继电器首先被置为断开。
*/
#include "watchdog.h"
#include "stm8s003_registers.h"
/** 启动看门狗并设置约 5 秒量级的预分频和重装值。 */
void Watchdog_Init(void)
{
REG8(IWDG_KR_ADDR) = 0xCCu;
REG8(IWDG_PR_ADDR) = 0x06u;
REG8(IWDG_RLR_ADDR) = 0xFFu;
REG8(IWDG_KR_ADDR) = 0xAAu;
}
/** 刷新看门狗,防止正常运行时复位。 */
void Watchdog_Refresh(void)
{
REG8(IWDG_KR_ADDR) = 0xAAu;
}