From c4b514c54772bc46a099a9a213a29db1b6674ee2 Mon Sep 17 00:00:00 2001 From: wangfq Date: Tue, 23 Jun 2026 14:00:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=BF=E7=81=AF=E8=87=AA=E6=A3=80?= =?UTF-8?q?=E9=97=AA=E7=83=81=E6=94=B9=E4=B8=BA200ms,=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?LED=E5=91=BD=E5=90=8D=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - LEDA=绿灯(PA9), 自检慢闪 200ms亮/200ms灭 - 红灯(PB1)始终PWM呼吸, 不干预 - LEDB宏无实际IO, 仅命名遗留 --- utilities/at32f421_freertos_demo/inc/TaskLoop.h | 5 ++++- utilities/at32f421_freertos_demo/src/TaskLoop.c | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/utilities/at32f421_freertos_demo/inc/TaskLoop.h b/utilities/at32f421_freertos_demo/inc/TaskLoop.h index 06e58ef..9555930 100644 --- a/utilities/at32f421_freertos_demo/inc/TaskLoop.h +++ b/utilities/at32f421_freertos_demo/inc/TaskLoop.h @@ -115,12 +115,15 @@ extern uint32_t LC_Hold_CNT; // 安全复位计数器 extern uint16_t g_safe_max_cnt; // 安全复位超时 /*=========================================================================== - * 故障指示相关 — 黄灯 (LEDC, PA10) + * 故障指示相关 — 黄灯 LEDC (PA10) * * 行为: * - 无线圈上电:黄灯快闪(200ms 周期) * - 线圈断开 N 次(N≥1):N 短闪(N×80ms 亮,间隔 200ms 灭,长灭 1.2s 重复) * - 线圈正常连接:黄灯灭 + * + * 注: 绿灯 LEDA (PA9) 由 poll_green_led() 控制; + * 红灯 (PB1) 始终 PWM 呼吸, 不需软件干预. *===========================================================================*/ extern uint8_t g_loop_power_up_state; // 上电后线圈是否曾连接 (0=否, 1=是) extern uint8_t g_disconnect_count; // 当前上电周期内线圈断开次数 (0~3) diff --git a/utilities/at32f421_freertos_demo/src/TaskLoop.c b/utilities/at32f421_freertos_demo/src/TaskLoop.c index fdf9ada..2df1b5d 100644 --- a/utilities/at32f421_freertos_demo/src/TaskLoop.c +++ b/utilities/at32f421_freertos_demo/src/TaskLoop.c @@ -184,19 +184,19 @@ void LEDA_ON_OFF(void) } /*=========================================================================== - * 绿灯指示 (LEDB, PA9) + * 绿灯指示 — LEDA (PA9) * * 由 TMR15 ISR 每 5ms 驱动一次,是绿灯的唯一控制入口。 * * 模式: * 自检中 (loop1_INI_LOOP==1 或 线圈未稳定): - * → 慢闪 (500ms 亮 / 500ms 灭) + * → 慢闪 (200ms 亮 / 200ms 灭) * 正常工作: * → 有车亮 (VD_FLAG==1), 无车灭 *===========================================================================*/ void poll_green_led(void) { -#define GREEN_SLOW_HALF 100 // 500ms (100 × 5ms) +#define GREEN_SLOW_HALF 40 // 200ms (40 × 5ms) static uint16_t _slow_tick = 0;