From 553de3fa5e31681fe40a7cea750848d9718f0d09 Mon Sep 17 00:00:00 2001 From: ZHAISHUI04 <3150778793@qq.com> Date: Wed, 28 May 2025 20:45:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99nuc=E5=8F=91=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/R2.uvoptx | 26 ++- MDK-ARM/R2/R2.axf | Bin 2845372 -> 2847984 bytes User/Module/Chassis.c | 436 +++++++++++++++------------------------ User/Module/Chassis.h | 7 +- User/device/cmd.c | 7 +- User/device/cmd.h | 1 + User/task/chassis_task.c | 7 +- User/task/init.c | 4 +- User/task/nuc_task.c | 11 +- User/task/user_task.h | 6 +- 10 files changed, 212 insertions(+), 293 deletions(-) diff --git a/MDK-ARM/R2.uvoptx b/MDK-ARM/R2.uvoptx index 58ce169..54c15c6 100644 --- a/MDK-ARM/R2.uvoptx +++ b/MDK-ARM/R2.uvoptx @@ -103,7 +103,7 @@ 1 0 0 - 3 + 6 @@ -114,7 +114,7 @@ - BIN\CMSIS_AGDI.dll + STLink\ST-LINKIII-KEIL_SWO.dll @@ -140,7 +140,7 @@ 0 DLGUARM - + (105=-1,-1,-1,-1,0) 0 @@ -310,6 +310,26 @@ 1 imu_temp + + 31 + 1 + cmd + + + 32 + 1 + NUC_send + + + 33 + 1 + BMI088_t + + + 34 + 1 + bmi088 + 0 diff --git a/MDK-ARM/R2/R2.axf b/MDK-ARM/R2/R2.axf index 8272b1a95aac2cc54f761bd6465be606b29a0fb4..acddb4c8a80753a4c84b923a26de1e6489b96676 100644 GIT binary patch delta 101769 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

v`&#V1LA~ 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 diff --git a/User/Module/Chassis.c b/User/Module/Chassis.c index d1ea42d..98b30d9 100644 --- a/User/Module/Chassis.c +++ b/User/Module/Chassis.c @@ -4,294 +4,180 @@ #include "bsp_buzzer.h" #include "bsp_delay.h" - - - - - -/*机器人坐标系,向前x,右y,上yaw - 不同于nuc (前x,左y,上yaw) */ -/* - x - | - --y - - +/* +机器人坐标系,向前x,右y,上yaw +不同于nuc (前x,左y,上yaw) + x + | + --y */ -static int8_t Chassis_SetCtrl(Chassis_t *c,CMD_t *ctrl){ - if (c == NULL) return CHASSIS_ERR_NULL; /*主结构体不能为空 */ - if (ctrl->CMD_CtrlType== c->chassis_ctrl.ctrl && ctrl->CMD_mode == c->chassis_ctrl.mode) return CHASSIS_OK; /*模式未改变直接返回*/ - c->chassis_ctrl.ctrl =ctrl->CMD_CtrlType ; - c->chassis_ctrl.mode =ctrl->CMD_mode ; - - return CHASSIS_OK; -} //设置控制模式 - - -/*该函数用来更新can任务获得的电机反馈值*/ +static int8_t Chassis_SetCtrl(Chassis_t *c, CMD_t *ctrl) { + if (c == NULL) return CHASSIS_ERR_NULL; + if (ctrl->CMD_CtrlType == c->chassis_ctrl.ctrl && ctrl->CMD_mode == c->chassis_ctrl.mode) + return CHASSIS_OK; + c->chassis_ctrl.ctrl = ctrl->CMD_CtrlType; + c->chassis_ctrl.mode = ctrl->CMD_mode; + return CHASSIS_OK; +} int8_t Chassis_UpdateFeedback(Chassis_t *c, const CAN_t *can) { - if (c == NULL) return CHASSIS_ERR_NULL; - if (can == NULL) return CHASSIS_ERR_NULL; - for (uint8_t i = 0; i < 4; i++) - { - c->motorfeedback.rotor_rpm3508[i] = can->motor.chassis_motor3508.as_array[i].rotor_speed; - c->motorfeedback.rotor_current3508[i] = can->motor.chassis_motor3508.as_array[i].torque_current; - } - - + if (c == NULL) return CHASSIS_ERR_NULL; + if (can == NULL) return CHASSIS_ERR_NULL; + for (uint8_t i = 0; i < 4; i++) { + c->motorfeedback.rotor_rpm3508[i] = can->motor.chassis_motor3508.as_array[i].rotor_speed; + c->motorfeedback.rotor_current3508[i] = can->motor.chassis_motor3508.as_array[i].torque_current; + } + return CHASSIS_OK; +} - return CHASSIS_OK; +int8_t Chassis_init(Chassis_t *c, const Chassis_Param_t *param, float target_freq) { + if (c == NULL) return CHASSIS_ERR_NULL; + c->param = param; + + for (int i = 0; i < 4; i++) { + PID_init(&(c->pid.chassis_3508VecPID[i]), PID_POSITION_D, &(c->param->M3508_param)); + } + PID_init(&(c->pid.chassis_PICKWzPID_HIGN), PID_POSITION, &(c->param->chassis_PICKWzPID_HIGN_param)); + PID_init(&(c->pid.chassis_PICKWzPID_LOW), PID_POSITION, &(c->param->chassis_PICKWzPID_LOW_param)); + PID_init(&(c->pid.sick_CaliforYPID), PID_POSITION, &(c->param->Sick_CaliYparam)); + PID_init(&(c->pid.sick_CaliforXPID), PID_POSITION, &(c->param->Sick_CaliXparam)); + + LowPassFilter2p_Init(&(c->filled[0]), target_freq, 80.0f); // 角加速度滤波 + LowPassFilter2p_Init(&(c->filled[1]), target_freq, 80.0f); // w滤波 + LowPassFilter2p_Init(&(c->filled[2]), target_freq, 80.0f); // y滤波 + LowPassFilter2p_Init(&(c->filled[3]), target_freq, 80.0f); // x滤波 + + return CHASSIS_OK; +} + +fp32 gyro_kp = 1.0f; +fp32 PIAN = 0; + +void Chassis_speed_calculate(Chassis_t *c, fp32 Vx, fp32 Vy, fp32 Vw) { + fp64 Nor_Vx, Nor_Vy; + normalize_vector(Vx, Vy, &Nor_Vx, &Nor_Vy); + + c->hopemotorout.OmniSpeedOut[0] = -Nor_Vx + Nor_Vy + Vw; // 右前 + c->hopemotorout.OmniSpeedOut[1] = -Nor_Vx - Nor_Vy + Vw; // 右后 + c->hopemotorout.OmniSpeedOut[2] = Nor_Vx - Nor_Vy + Vw; // 左后 + c->hopemotorout.OmniSpeedOut[3] = Nor_Vx + Nor_Vy + Vw; // 左前 +} + +int8_t Chassis_Control(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) { + if (c == NULL) return CHASSIS_ERR_NULL; + if (ctrl == NULL) return CHASSIS_ERR_NULL; + + Chassis_SetCtrl(c, ctrl); + + // IMU加滤波修正 + c->pos088.bmi088.filtered_gyro.z = LowPassFilter2p_Apply(&(c->filled[0]), c->pos088.bmi088.gyro.z); + + switch (c->chassis_ctrl.ctrl) { + case RCcontrol: // 手动控制 + /* + 在cmd里对数据进行处理 包括方向和油门 + 6000为全向轮的倍率,遥控器坐标系和机器人坐标系不同 + */ + c->NUC_send .send [0]=0; + c->NUC_send .send [1]=0; + c->NUC_send .send [2]=10; + c->NUC_send .send [3]=100; + + switch (c->chassis_ctrl.mode) { + case Normal: + c->move_vec.Vw = ctrl->Vw * 6000; + c->move_vec.Vx = ctrl->Vy * 6000; + c->move_vec.Vy = ctrl->Vx * 6000; + break; + case Pitch: + c->move_vec.Vw = 0; + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + break; + case UP_Adjust: + c->move_vec.Vw = ctrl->Vw * 6000; + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + break; + default: + c->move_vec.Vw = 0; + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + break; + } + break; + + case AUTO: // 自动模式 + switch (c->chassis_ctrl.mode) { + + case AUTO_NAVI: // 自动雷达 + // 全向轮方向, 注意xy方向 + c->move_vec.Vw = ctrl->cmd_MID360.posw * 1000; + c->move_vec.Vy = -ctrl->cmd_MID360.posy * 1000; + c->move_vec.Vx = -ctrl->cmd_MID360.posx * 1000; + + abs_limit_fp(&c->move_vec.Vx, 2000.0f); + abs_limit_fp(&c->move_vec.Vy, 2000.0f); + abs_limit_fp(&c->move_vec.Vw, 2000.0f); + + c->NUC_send .send [0]=0; + break; + + case AUTO_NAVI_Pitch: + c->move_vec.Vw = 0; + c->move_vec.Vy = 0; + c->move_vec.Vx = 0; + + c->NUC_send .send [0]=1; + break; + case AUTO_NAVI_Adjust: + c->move_vec.Vw = ctrl->Vw * 6000; + c->move_vec.Vx = ctrl->Vy * 6000; + c->move_vec.Vy = ctrl->Vx * 6000; + + c->NUC_send .send [0]=1; + break; + default: + c->move_vec.Vw = 0; + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + c->NUC_send .send [0]=0; + + break; + } + break; + + default: + c->move_vec.Vw = 0; + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + break; + } + + // 电机速度限幅 + abs_limit_fp(&c->move_vec.Vx, 6000.0f); + abs_limit_fp(&c->move_vec.Vy, 6000.0f); + abs_limit_fp(&c->move_vec.Vw, 6000.0f); + + Chassis_speed_calculate(c, c->move_vec.Vx, c->move_vec.Vy, c->move_vec.Vw); + + for (uint8_t i = 0; i < 4; i++) { + c->final_out.final_3508out[i] = PID_calc(&(c->pid.chassis_3508VecPID[i]), + c->motorfeedback.rotor_rpm3508[i], + c->hopemotorout.OmniSpeedOut[i]); + out->motor_CHASSIS3508.as_array[i] = c->final_out.final_3508out[i]; + } +c->NUC_send .send [1]=1; + return CHASSIS_OK; } -int8_t Chassis_init(Chassis_t *c,const Chassis_Param_t *param,float target_freq) -{ - if (c == NULL) return CHASSIS_ERR_NULL; - - c->param = param; /*初始化参数 */ - - for(int i =0 ; i < 4 ; i++) - { - PID_init(&(c->pid.chassis_3508VecPID[i]),PID_POSITION_D,&(c->param->M3508_param)); //带D项滤波 - } - - PID_init(&(c->pid.chassis_PICKWzPID_HIGN),PID_POSITION,&(c->param->chassis_PICKWzPID_HIGN_param)); - - PID_init(&(c->pid.chassis_PICKWzPID_LOW),PID_POSITION,&(c->param->chassis_PICKWzPID_LOW_param)); - - - PID_init(&(c->pid.sick_CaliforYPID),PID_POSITION,&(c->param->Sick_CaliYparam)); - - PID_init(&(c->pid.sick_CaliforXPID),PID_POSITION,&(c->param->Sick_CaliXparam)); - - LowPassFilter2p_Init(&(c->filled[0]),target_freq,80.0f); //给角加速度做滤波 - - - LowPassFilter2p_Init(&(c->filled[1]),target_freq,80.0f); //给w 做滤波 - - LowPassFilter2p_Init(&(c->filled[2]),target_freq,80.0f); //给y做滤波 - - LowPassFilter2p_Init(&(c->filled[3]),target_freq,80.0f); //给x 做滤波 - - // - - - return CHASSIS_OK; -} - -fp32 gyro_kp=1.0f; -fp32 PIAN=0; -void Chassis_speed_calculate(Chassis_t *c,fp32 Vx,fp32 Vy,fp32 Vw) //底盘逆运动学的解算, -{ - fp64 Nor_Vx,Nor_Vy;//归一化后的数据 - normalize_vector(Vx,Vy,&Nor_Vx,&Nor_Vy); - -// c->hopemotorout.OmniSpeedOut[0] = -Vx+Vy+Vw;//右前 -// c->hopemotorout.OmniSpeedOut[1] = -Vx-Vy+Vw;//右后 -// c->hopemotorout.OmniSpeedOut[2] = Vx-Vy+Vw;//左后 -// c->hopemotorout.OmniSpeedOut[3] = Vx+Vy+Vw;//左前 -// c->hopemotorout.OmniSpeedOut[0] = -Nor_Vx+Nor_Vy+Vw + c->pos088 .bmi088.gyro.z;//右前 -// c->hopemotorout.OmniSpeedOut[1] = -Nor_Vx-Nor_Vy+Vw + c->pos088 .bmi088.gyro.z;//右后 -// c->hopemotorout.OmniSpeedOut[2] = Nor_Vx-Nor_Vy+Vw + c->pos088 .bmi088.gyro.z;//左后 -// c->hopemotorout.OmniSpeedOut[3] = Nor_Vx+Nor_Vy+Vw + c->pos088 .bmi088.gyro.z;//左前 - c->hopemotorout.OmniSpeedOut[0] = -Nor_Vx+Nor_Vy+Vw ;//右前 - c->hopemotorout.OmniSpeedOut[1] = -Nor_Vx-Nor_Vy+Vw ;//右后 - c->hopemotorout.OmniSpeedOut[2] = Nor_Vx-Nor_Vy+Vw ;//左后 - c->hopemotorout.OmniSpeedOut[3] = Nor_Vx+Nor_Vy+Vw ;//左前 - -// if(!Vw){ -// PIAN = jiuzheng(c->pos088 .imu_eulr .yaw ); -// } -// c->hopemotorout.OmniSpeedOut[0] += PIAN ;//右前 -// c->hopemotorout.OmniSpeedOut[1] += PIAN ;//右后 -// c->hopemotorout.OmniSpeedOut[2] += PIAN ;//左后 -// c->hopemotorout.OmniSpeedOut[3] += PIAN ;//左前 - -} -int8_t Chassis_Control(Chassis_t *c,CMD_t *ctrl,CAN_Output_t *out) -{ - if(c ==NULL) return CHASSIS_ERR_NULL; - if(ctrl ==NULL) return CHASSIS_ERR_NULL; - - - Chassis_SetCtrl(c,ctrl); - - //此处对imu加滤波做修正 - c->pos088.bmi088.filtered_gyro.z =LowPassFilter2p_Apply(&(c->filled[0]),c->pos088.bmi088.gyro.z); - - switch (c->chassis_ctrl .ctrl) - { - case RCcontrol: //手动控制 - -/* - 在cmd里对数据进行处理 包括方向和油门 - 6000为全向轮的倍率,遥控器坐标系和机器人坐标系不同*/ - if(c->chassis_ctrl .mode == Pitch){ - c->move_vec.Vw = 0; - c->move_vec.Vx = 0; - c->move_vec.Vy = 0; - } - else if(c->chassis_ctrl .mode == UP_Adjust) - { - c->move_vec.Vw = ctrl->Vw*6000; - c->move_vec.Vx = 0; - c->move_vec.Vy = 0; - } - else { - c->move_vec.Vw = ctrl->Vw*6000; - c->move_vec.Vx = ctrl->Vy*6000; - c->move_vec.Vy = ctrl->Vx*6000; - } - - - - break; - - case AUTO : //在自动模式下 - - switch(c->chassis_ctrl.mode ){ - - - case AUTO_NAVI: //自动雷达 -// //这套是全向轮的方向,一定要注意这里的xy方向 - c->move_vec.Vw =ctrl->cmd_MID360 .posw *1000 ; - c->move_vec.Vy =-ctrl->cmd_MID360.posy *1000 ; - c->move_vec.Vx =-ctrl->cmd_MID360.posx *1000 ; -// c->move_vec.Vw =LowPassFilter2p_Apply(&(c->filled[1]),c->move_vec.Vw); -// c->move_vec.Vy =LowPassFilter2p_Apply(&(c->filled[2]),c->move_vec.Vy); -// c->move_vec.Vx =LowPassFilter2p_Apply(&(c->filled[3]),c->move_vec.Vx); -// -// c->move_vec.Vw =PID_calc(&(c->pid.chassis_NaviWzPID),c->pos088.bmi088.gyro.z,c->move_vec.Vw); -// c->move_vec.Vx =PID_calc(&(c->pid.chassis_NaviVxPID),c->pos088.bmi088.accl.y,c->move_vec.Vx); -// c->move_vec.Vy =PID_calc(&(c->pid.chassis_NaviVyPID),c->pos088.bmi088.accl.x,c->move_vec.Vy); -// //电机速度限幅 - - abs_limit_fp(&c->move_vec.Vx,2000.0f); - - abs_limit_fp(&c->move_vec.Vy,2000.0f); - - abs_limit_fp(&c->move_vec.Vw,2000.0f); - - if(ctrl->status[5] ==1) - { - c->move_vec.Vw = c->move_vec.Vw * 0.8f; - c->move_vec.Vx = c->move_vec.Vx * 0.5f; - c->move_vec.Vy = c->move_vec.Vy * 0.5f; - } - - break; - - case AUTO_NAVI_Pitch: //自动视觉 - - c->move_vec.Vw =0; - c->move_vec.Vy =0; - c->move_vec.Vx =0 ; - - - -// if(abs_value(ctrl ->cmd_pick .posx )>20) -// { -// c->move_vec.Vw =PID_calc(&(c->pid.chassis_PICKWzPID_HIGN),(c->move_vec .Vw) ,0); -// -// } -// else if(abs_value(ctrl ->cmd_pick .posx )<0.1) -// { -// c->move_vec.Vw =0; -// } -// else -// c->move_vec.Vw =PID_calc(&(c->pid.chassis_PICKWzPID_LOW),(c->move_vec .Vw) ,0); - -// c->move_vec.Vw =LowPassFilter2p_Apply(&(c->filled[1]),c->move_vec.Vw); - -// -// c->vofa_send[0]=c->move_vec.Vw; -// c->vofa_send[1]=-ctrl->cmd_pick .posx; -// - - - break ; - - } - break ; - -} - - - //电机速度限幅 - - abs_limit_fp(&c->move_vec.Vx,6000.0f); - - abs_limit_fp(&c->move_vec.Vy,6000.0f); - - abs_limit_fp(&c->move_vec.Vw,6000.0f); - - Chassis_speed_calculate(c,c->move_vec.Vx,c->move_vec.Vy,c->move_vec.Vw); - - - for (uint8_t i = 0 ; i <4 ; i++) - { - c->final_out.final_3508out[i] = PID_calc(&(c->pid.chassis_3508VecPID[i]),c->motorfeedback.rotor_rpm3508[i],c->hopemotorout.OmniSpeedOut[i]); - - out->motor_CHASSIS3508 .as_array[i] = c->final_out.final_3508out[i]; - } - -// c->vofa_send[0]=c->pos088.bmi088.gyro.z; - -// c->vofa_send[1]=c->motorfeedback .rotor_rpm3508 [0]; -// c->vofa_send[2]=c->motorfeedback .rotor_rpm3508 [1]; -// c->vofa_send[3]=c->motorfeedback .rotor_rpm3508 [2]; -// c->vofa_send[4]=c->motorfeedback .rotor_rpm3508 [3]; -// -// c->vofa_send[0]=c->hopemotorout .OmniSpeedOut [0]; -// c->vofa_send[1]=c->hopemotorout .OmniSpeedOut [0]; -//// c->vofa_send[2]=c->hopemotorout .OmniSpeedOut [2]; -// c->vofa_send[3]=c->hopemotorout .OmniSpeedOut [3]; - -//// c->vofa_send[4]=c->motorfeedback .rotor_rpm3508 [0]; -// c->vofa_send[0]=c->motorfeedback .rotor_rpm3508 [0]; -//// c->vofa_send[6]=c->motorfeedback .rotor_rpm3508 [2]; -// c->vofa_send[2]=c->motorfeedback .rotor_rpm3508 [3]; -// -// c->vofa_send[5]=c->pos088 .imu_eulr .yaw ; - - return CHASSIS_OK; - -} - pid_type_def pid; - - pid_param_t pid_param={ - .p = 0.50f, - .i = 0.0f, - .d = 0.0f, - .i_limit = 50.0f, - .out_limit = 100.0f - }; -fp32 jiuzheng(fp32 yaw) -{ - static fp32 pian_yaw=0; - static fp32 shang_yaw=0; - static int is=0; - - - if(is==0) - { - PID_init (&pid,PID_POSITION ,&pid_param); - is=1; - } - - pian_yaw+= (yaw - shang_yaw); - shang_yaw=yaw ; - - return PID_calc(&pid,pian_yaw,0); -} - diff --git a/User/Module/Chassis.h b/User/Module/Chassis.h index 919bb3e..bdc6868 100644 --- a/User/Module/Chassis.h +++ b/User/Module/Chassis.h @@ -90,7 +90,11 @@ typedef struct fp32 Vw; fp32 mul;//油门倍率 }ChassisMove_Vec; - +typedef struct +{ + fp32 send[4]; + +}NUC_send_t; /** * @brief @@ -160,6 +164,7 @@ typedef struct{ int32_t sick_dis[4]; //获取到的sick激光值 + NUC_send_t NUC_send; }Chassis_t; diff --git a/User/device/cmd.c b/User/device/cmd.c index eec5297..036881e 100644 --- a/User/device/cmd.c +++ b/User/device/cmd.c @@ -191,11 +191,14 @@ int8_t CMD_LD(CMD_t *cmd,const CMD_RC_t *rc){ if(cmd ->CMD_CtrlType ==AUTO){ /*自动下的*/ + if (rc->LD.key_C ==CMD_SW_UP) cmd ->CMD_mode =AUTO_NAVI_Adjust; + else { + if(rc->LD.key_E ==CMD_SW_DOWN ) cmd ->CMD_mode =Normal; else if(rc->LD.key_E ==CMD_SW_UP) cmd ->CMD_mode =AUTO_NAVI_Pitch; - else if(rc->LD .key_E ==CMD_SW_MID ) cmd ->CMD_mode =AUTO_NAVI; + else if(rc->LD .key_E ==CMD_SW_MID ) cmd ->CMD_mode =AUTO_NAVI; else cmd ->CMD_mode =Normal ; - + } } else if(cmd ->CMD_CtrlType ==RCcontrol){ /*手动下的*/ diff --git a/User/device/cmd.h b/User/device/cmd.h index 52d5703..bfb7904 100644 --- a/User/device/cmd.h +++ b/User/device/cmd.h @@ -25,6 +25,7 @@ typedef enum{ AUTO_NAVI, AUTO_NAVI_Pitch, + AUTO_NAVI_Adjust,//雷达调整 UP_Adjust,//上层调整 diff --git a/User/task/chassis_task.c b/User/task/chassis_task.c index 28549a0..c5bdfe5 100644 --- a/User/task/chassis_task.c +++ b/User/task/chassis_task.c @@ -85,13 +85,14 @@ void Task_Chassis(void *argument) osMessageQueueReset(task_runtime.msgq.can.output.chassis3508);//清空队列 osMessageQueuePut(task_runtime.msgq.can.output.chassis3508, &out.motor_CHASSIS3508, 0, 0); //发送数据 - + osMessageQueueReset(task_runtime.msgq.cmd.raw.nuc_send);//清空队列 + osMessageQueuePut(task_runtime.msgq.cmd.raw.nuc_send, &chassis.NUC_send, 0, 0); //发送数据 vofa_send[0] = chassis.vofa_send[0]; - vofa_send[1] = chassis.vofa_send[1]; + vofa_send[1] = chassis.vofa_send[1]; vofa_send[2] = chassis.vofa_send[2]; vofa_send[3] = chassis.vofa_send[3]; vofa_send[4] = chassis.vofa_send[4]; - vofa_send[5] = chassis.vofa_send[5]; + vofa_send[5] = chassis.vofa_send[5]; vofa_send[6] = chassis.vofa_send[6]; vofa_send[7] = chassis.vofa_send[7]; diff --git a/User/task/init.c b/User/task/init.c index 4f20970..9b3e7af 100644 --- a/User/task/init.c +++ b/User/task/init.c @@ -85,7 +85,9 @@ void Task_Init(void *argument) { task_runtime.msgq.cmd.raw.nuc = osMessageQueueNew(3u,sizeof(CMD_NUC_t), NULL); - + task_runtime.msgq.cmd.raw.nuc_send = + osMessageQueueNew(3u,sizeof(NUC_send_t), NULL); + osKernelUnlock(); osThreadTerminate(osThreadGetId()); /* 结束自身 */ } diff --git a/User/task/nuc_task.c b/User/task/nuc_task.c index cbe6d3d..4060af7 100644 --- a/User/task/nuc_task.c +++ b/User/task/nuc_task.c @@ -5,13 +5,15 @@ NUC_t nuc_raw; CMD_NUC_t cmd_fromnuc; + +NUC_send_t NUC_send; #else static NUC_t nuc_raw; static CMD_NUC_t cmd_fromnuc; - +NUC_send_t NUC_send; #endif -fp32 send[4]={11.0f,45.0,1.f,4.0f}; +//fp32 send[4]={11.0f,45.0,1.f,4.0f}; void Task_nuc(void *argument){ (void)argument; /**/ @@ -29,7 +31,7 @@ void Task_nuc(void *argument){ task_runtime.stack_water_mark.nuc= osThreadGetStackSpace(osThreadGetId()); #endif NUC_StartReceiving(); - NUC_StartSending(send); + NUC_StartSending(NUC_send.send); if (NUC_WaitDmaCplt()){ NUC_RawParse(&cmd_fromnuc); } @@ -38,7 +40,8 @@ void Task_nuc(void *argument){ } osMessageQueueReset(task_runtime.msgq.cmd.raw.nuc); osMessageQueuePut(task_runtime.msgq.cmd.raw.nuc,&(cmd_fromnuc),0,0); - + osMessageQueueGet(task_runtime.msgq.cmd.raw.nuc_send, &NUC_send, NULL, 0); + tick += delay_tick; /* 计算下一个唤醒时刄1ķ*/ osDelayUntil(tick); diff --git a/User/task/user_task.h b/User/task/user_task.h index 928f2ef..958b2c3 100644 --- a/User/task/user_task.h +++ b/User/task/user_task.h @@ -58,17 +58,15 @@ typedef struct { struct { struct { osMessageQueueId_t rc; - osMessageQueueId_t nuc; + osMessageQueueId_t nuc; // osMessageQueueId_t eulr;/*姿态结算得到的欧拉角*/ - + osMessageQueueId_t nuc_send; //给nuc发 }raw; /*控制分离*/ osMessageQueueId_t UP_cmd_ctrl_t; osMessageQueueId_t CHASSIS_cmd_ctrl_t; - - osMessageQueueId_t status; } cmd;