diff --git a/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp b/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp index 2c79df1..331174b 100644 --- a/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp +++ b/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp @@ -417,7 +417,10 @@ int32_t StepMotorCtrlModule::exec_move_to_zero_task() { _motor_move_by(m_param.look_zero_edge_max_d, m_param.look_zero_edge_speed, m_param.acc, m_param.look_zero_edge_dec); while (!_motor_is_reach_target()) { if (m_thread.getExitFlag()) break; - if (!m_Xgpio->getState()) break; + if (!m_Xgpio->getState()) { + _motor_stop(-1); + break; + } vTaskDelay(1); } }