添加电机

This commit is contained in:
Robofish 2026-01-10 02:57:47 +08:00
parent dd27f0ba8b
commit 71466bc61e

View File

@ -22,6 +22,8 @@ MOTOR_LK_Param_t chassis_motor_params[4] = {
{BSP_CAN_1, 0x203, MOTOR_LK_MF9025, false}, {BSP_CAN_1, 0x203, MOTOR_LK_MF9025, false},
{BSP_CAN_1, 0x204, MOTOR_LK_MF9025, false} {BSP_CAN_1, 0x204, MOTOR_LK_MF9025, false}
}; };
MOTOR_LK_t *chassis_motors[4] = {NULL, NULL, NULL, NULL};
/* USER STRUCT END */ /* USER STRUCT END */
/* Private function --------------------------------------------------------- */ /* Private function --------------------------------------------------------- */
@ -38,13 +40,34 @@ void Task_ctrl_chassis(void *argument) {
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */ uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
/* USER CODE INIT BEGIN */ /* USER CODE INIT BEGIN */
BSP_CAN_Init(); BSP_CAN_Init();
// 注册所有底盘电机
for (int i = 0; i < 4; i++) {
MOTOR_LK_Register(&chassis_motor_params[i]);
}
// 延时等待电机稳定
osDelay(100);
// 开启所有电机
for (int i = 0; i < 4; i++) {
MOTOR_LK_MotorOn(&chassis_motor_params[i]);
}
/* USER CODE INIT END */ /* USER CODE INIT END */
while (1) { while (1) {
tick += delay_tick; /* 计算下一个唤醒时刻 */ tick += delay_tick; /* 计算下一个唤醒时刻 */
/* USER CODE BEGIN */ /* USER CODE BEGIN */
// 更新所有电机数据
for (int i = 0; i < 4; i++) {
MOTOR_LK_Update(&chassis_motor_params[i]);
}
// 设置电机输出
MOTOR_LK_SetOutput(&chassis_motor_params[0], 0.5f); MOTOR_LK_SetOutput(&chassis_motor_params[0], 0.5f);
MOTOR_LK_Ctrl(&chassis_motor_params[0]); MOTOR_LK_SetOutput(&chassis_motor_params[1], 0.5f);
MOTOR_LK_SetOutput(&chassis_motor_params[2], 0.5f);
MOTOR_LK_SetOutput(&chassis_motor_params[3], 0.5f);
/* USER CODE END */ /* USER CODE END */
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */ osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */