Browse Source

发指令时不在左右轮询,解决轮子步调不一致问题

master
Lizongdi 16 hours ago
parent
commit
d4c63a7305
  1. 20
      project/paint_robot_new/paint_robot_new_motors.c

20
project/paint_robot_new/paint_robot_new_motors.c

@ -167,17 +167,13 @@ void MotorTask(void *argument)
{ {
// 处理消息 // 处理消息
MsgCenter_ProcessWait(g_uiMotorModuleID, 2); MsgCenter_ProcessWait(g_uiMotorModuleID, 2);
MotorMgr_RequestPosition(g_apstMotors[0]);
for (int i = 0; i < MOTOR_INSTANCE_MAX; i++) MotorMgr_RequestPosition(g_apstMotors[1]);
{ MotorMgr_RequestFault(g_apstMotors[0]);
if (g_apstMotors[i] != NULL) MotorMgr_RequestFault(g_apstMotors[1]);
{ MotorMgr_RequestVelocity(g_apstMotors[0]);
// 读取位置、速度、故障 MotorMgr_RequestVelocity(g_apstMotors[1]);
MotorMgr_RequestPosition(g_apstMotors[i]); MotorMgr_SetTargetSpeed(g_apstMotors[0], g_aiMotorSpeed[0]);
MotorMgr_RequestFault(g_apstMotors[i]); MotorMgr_SetTargetSpeed(g_apstMotors[1], g_aiMotorSpeed[1]);
MotorMgr_RequestVelocity(g_apstMotors[i]);
MotorMgr_SetTargetSpeed(g_apstMotors[i], g_aiMotorSpeed[i]);
}
}
} }
} }

Loading…
Cancel
Save