Browse Source

电机只初始化一次

paint_robot_new-v1.5
Lizongdi 2 weeks ago
parent
commit
3fcef59348
  1. 4
      project/paint_robot_new/paint_robot_new_motors.c

4
project/paint_robot_new/paint_robot_new_motors.c

@ -46,6 +46,7 @@ static uint32_t g_uiMotorModuleID = 0;
static int g_aiMotorSpeed[MOTOR_INSTANCE_MAX] = {0}; static int g_aiMotorSpeed[MOTOR_INSTANCE_MAX] = {0};
static int g_isMotorInit = -1; // -1表示还在等待遥控器初始化完毕,0表示可以进行电机初始化,1表示电机初始化完毕,运行电机主循环 static int g_isMotorInit = -1; // -1表示还在等待遥控器初始化完毕,0表示可以进行电机初始化,1表示电机初始化完毕,运行电机主循环
static int g_iLastVehicleMove = 0; static int g_iLastVehicleMove = 0;
static int g_iInitOnce = 0; // 防止重复初始化标志
/*----------------------------------------------* /*----------------------------------------------*
* 常量定义 * * 常量定义 *
@ -195,7 +196,7 @@ void MotorTask(void *argument)
// 处理消息 // 处理消息
MsgCenter_ProcessWait(g_uiMotorModuleID, 2); MsgCenter_ProcessWait(g_uiMotorModuleID, 2);
if (0 == g_isMotorInit) if (0 == g_isMotorInit && 0 == g_iInitOnce)
{ {
HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, 0); HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, 0);
// 初始化FDCAN1,使用雷赛电机的回调 // 初始化FDCAN1,使用雷赛电机的回调
@ -243,6 +244,7 @@ void MotorTask(void *argument)
MotorMgr_SpeedModeInit(g_apstMotors[0]); MotorMgr_SpeedModeInit(g_apstMotors[0]);
MotorMgr_SpeedModeInit(g_apstMotors[1]); MotorMgr_SpeedModeInit(g_apstMotors[1]);
g_isMotorInit = 1; g_isMotorInit = 1;
g_iInitOnce = 1;
} }
else if (g_isMotorInit > 0) else if (g_isMotorInit > 0)
{ {

Loading…
Cancel
Save