|
@@ -912,11 +912,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) |
|
|
PLSR_Route_PWM_Stop(); |
|
|
PLSR_Route_PWM_Stop(); |
|
|
} |
|
|
} |
|
|
else PLSR_Section_PWM_Stop(); |
|
|
else PLSR_Section_PWM_Stop(); |
|
|
if(PlsrRoute.part1_target_freq == PlsrRoute.section[PlsrRoute.current_section_num - 1].target_freq |
|
|
|
|
|
&& PlsrRoute.current_part == 1) |
|
|
|
|
|
{ |
|
|
|
|
|
PlsrRoute.current_freq = PlsrRoute.target_freq; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 精确累加当前段已发送的脉冲数 |
|
|
// 精确累加当前段已发送的脉冲数 |
|
|
int32_t current_section_pulses = __HAL_TIM_GetAutoreload(&htim2); |
|
|
int32_t current_section_pulses = __HAL_TIM_GetAutoreload(&htim2); |
|
|
if(PlsrModFlag == 1) |
|
|
if(PlsrModFlag == 1) |
|
@@ -943,6 +939,9 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) |
|
|
PlsrRoute.initial_freq = PlsrRoute.part2_target_freq; // 更新加减速初始频率 |
|
|
PlsrRoute.initial_freq = PlsrRoute.part2_target_freq; // 更新加减速初始频率 |
|
|
|
|
|
|
|
|
PlsrRoute.current_freq = PlsrRoute.target_freq; |
|
|
PlsrRoute.current_freq = PlsrRoute.target_freq; |
|
|
|
|
|
if(PlsrRoute.current_freq > 90000) |
|
|
|
|
|
; |
|
|
|
|
|
else |
|
|
PLSR_PWM_SetFrequency(PlsrRoute.current_freq); |
|
|
PLSR_PWM_SetFrequency(PlsrRoute.current_freq); |
|
|
// if(PlsrRoute.current_freq >= 90000) |
|
|
// if(PlsrRoute.current_freq >= 90000) |
|
|
// HAL_TIM_GenerateEvent(&htim10, TIM_EVENTSOURCE_UPDATE); |
|
|
// HAL_TIM_GenerateEvent(&htim10, TIM_EVENTSOURCE_UPDATE); |
|
@@ -1728,8 +1727,6 @@ void PLSR_Section_SwitchNext(PLSR_RouteConfig_t* route, uint8_t is_pulse_complet |
|
|
// 清除新段的外部事件标志,确保每段都是干净的状态 |
|
|
// 清除新段的外部事件标志,确保每段都是干净的状态 |
|
|
PLSR_ClearExtEvent(route); |
|
|
PLSR_ClearExtEvent(route); |
|
|
route->initial_freq = route->current_freq; |
|
|
route->initial_freq = route->current_freq; |
|
|
|
|
|
|
|
|
// 外部事件触发时保持当前频率不变,确保频率连续性 |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|