金牌会员
 
- 积分
- 1180
- 金钱
- 1180
- 注册时间
- 2018-9-11
- 在线时间
- 132 小时
|
50金钱
最近在用STM32F4做PID,发现只能申请3个结构体(原本需要申请6个),只有前三个能返回结构体地址,后三个返回的地址都是0。
有没有哪位大神知道这是什么原因呢?
PID_LocType* yaw_pid_init()
{
PID_LocType* PID =(PID_LocType*) malloc(sizeof(PID_LocType));
PID->kp = 4;
PID->ki = 0.005;//0.005;
PID->kd = 0.02;//0.015;
PID->ek = 0;
PID->ek1 = 0;
PID->sum = 0;
return PID;
}
PID_LocType* xy_pid_init()
{
PID_LocType* PID =(PID_LocType*) malloc(sizeof(PID_LocType));
PID->kp = 60;
PID->ki = 0.003;
PID->kd = 0.2;
PID->ek = 0;
PID->ek1 = 0;
PID->sum = 0;
return PID;
}
yaw_left_pid = yaw_pid_init();
yaw_right_pid = yaw_pid_init();
x_left_pid = xy_pid_init();
x_right_pid = xy_pid_init();
y_forward_pid = xy_pid_init();
y_back_pid = xy_pid_init();
这6个PID结构体 只有前三个能返回正常的地址,后面三个返回的都是0.
|
|