add devcmdtask but couldnt recv data

This commit is contained in:
TuxMonkey
2026-03-07 21:59:47 +08:00
parent 50edf7dedb
commit 2f0ca6d906
6 changed files with 67 additions and 44 deletions

View File

@@ -19,24 +19,28 @@ static float current_energy_j = 0.0f;
void RobotCMDInit()
{
chassis_power_meter = PowerMeterInit(&hfdcan1);
if(chassis_power_meter == NULL)
if (chassis_power_meter == NULL)
{
LOGERROR("[CMD] Power Meter Init Failed!");
}
}
// ==================== 4. 在控制任务中读取使用 ====================
void RobotCMDTask()
void CmdTask()
{
if(chassis_power_meter != NULL)
RobotCMDInit();
while (1)
{
current_power_w = PowerMeterGetPower(chassis_power_meter);
current_voltage_v = PowerMeterGetVoltage(chassis_power_meter);
current_energy_j = PowerMeterGetEnergy(chassis_power_meter);
if (chassis_power_meter != NULL)
{
current_power_w = PowerMeterGetPower(chassis_power_meter);
current_voltage_v = PowerMeterGetVoltage(chassis_power_meter);
current_energy_j = PowerMeterGetEnergy(chassis_power_meter);
// 你可以将获取到的功率写入要发送给底盘的 cmd 中,例如限制最大速度
// chassis_cmd_send.real_power = current_power_w;
// 你可以将获取到的功率写入要发送给底盘的 cmd 中,例如限制最大速度
// chassis_cmd_send.real_power = current_power_w;
}
osDelay(10); // 根据实际需要调整读取频率
}
osDelay(10); // 根据实际需要调整读取频率
}
}

View File

@@ -55,7 +55,7 @@ void RobotCMDInit(void)
/**
* @brief 任务核心循环 (放置于 RTOS Task 中)
*/
void RobotCMDTask(void)
void CmdTask(void)
{
if (!task_data.init_done) return;

View File

@@ -9,6 +9,6 @@ void RobotCMDInit(void);
/**
* @brief 机器人核心控制任务,200Hz频率运行(必须高于视觉发送频率)
*/
void RobotCMDTask(void);
void CmdTask(void);
#endif // HALFSTEERING_CMD_H