diff --git a/utilities/at32f421_freertos_demo/inc/TaskLoop.h b/utilities/at32f421_freertos_demo/inc/TaskLoop.h index 6d4e557..639b68c 100644 --- a/utilities/at32f421_freertos_demo/inc/TaskLoop.h +++ b/utilities/at32f421_freertos_demo/inc/TaskLoop.h @@ -47,6 +47,8 @@ *===========================================================================*/ #define USE_FLATNESS_EXIT 1 +#define WINDOW_ORIGIN 500 // 基线跟踪窗口 (500 × 10ms = 5s) + /*=========================================================================== * 频率测量参数 * MEASUREMENT_BASE: 自适应测量窗口目标值 (≈131072) diff --git a/utilities/at32f421_freertos_demo/src/TaskLoop.c b/utilities/at32f421_freertos_demo/src/TaskLoop.c index 6ab4497..ed82c2b 100644 --- a/utilities/at32f421_freertos_demo/src/TaskLoop.c +++ b/utilities/at32f421_freertos_demo/src/TaskLoop.c @@ -682,7 +682,7 @@ void vd1_task(void) loop1_CAPVD_fast = loop1_Value; update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT, - &loop1_Origin, loop1_CAPVD, 100); + &loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN); _stable_cnt++; if (_stable_cnt >= STABLE_SAMPLES) { g_loop_stable = 1; @@ -706,7 +706,7 @@ void vd1_task(void) /* CAPVD 未显著高于基线 → 安全跟踪,重置冻结计数 */ loop1_freeze_cnt = 0; update_moving_average(&loop1_ORG_SUM, &loop1_ORG_CNT, - &loop1_Origin, loop1_CAPVD, 100); + &loop1_Origin, loop1_CAPVD, WINDOW_ORIGIN); } else { /* CAPVD 异常偏高 → 冻结跟踪 */ if (loop1_freeze_cnt == 0) {