perf: 提高测量精度和响应速度
- TIM3 分频 DIV_4→DIV_2(中断率×2,CPU仍<3%) - 去掉 XNSUM_FOR_ORIGIN_FACTOR (>>6),保留全部采样精度 - LPCNT = MEASUREMENT_BASE(131072)/Xn,替代 (32768<<6)/Xn - 测量窗口 17.5ms→~1ms(快16倍) - Origin 范围 32K→131K,灵敏度阈值自动按比例缩放 - 离开增加 cnt_release>=3 防抖,防瞬间噪声误落杆
This commit is contained in:
@@ -236,7 +236,7 @@ void loop_timer_io_init(void)
|
||||
g_tmr_input_config_struct.input_channel_select = TMR_SELECT_CHANNEL_2;
|
||||
g_tmr_input_config_struct.input_mapped_select = TMR_CC_CHANNEL_MAPPED_DIRECT;
|
||||
g_tmr_input_config_struct.input_polarity_select = TMR_INPUT_RISING_EDGE;
|
||||
_div = TMR_CHANNEL_INPUT_DIV_4;
|
||||
_div = TMR_CHANNEL_INPUT_DIV_2;
|
||||
tmr_input_channel_init(TMR3, &g_tmr_input_config_struct, _div);
|
||||
for(i = 0; i< _div; i++){
|
||||
g_input_div *= 2;
|
||||
|
||||
Reference in New Issue
Block a user