void PID(void)
{
// 设置PID常数值
const double Kp = 1.0;
const double Ki = 0.1;
const double Kd = 0.1;
const double dt = 0.1; // PID更新频率
// 初始化控制变量
double prev_error = 0.0;
double integral = 0.0;
// 计算实际功率
double GL = DL * DY;
// 计算PID误差
double error = calculate_error(dbTmp4,dbTmp2, prev_error, integral, Kp, Ki, Kd, dt);
prev_error = error;
// 计算PID输出
double output = Kp * error + Ki * integral + Kd * error/dt;
WaitSec(dt);
SetCtrlVal(panelHandle,PANEL_POWER1,GL);
}
我想修改一个程序,加入一个PID算法,但是会报错function definition is not allowed here。想请教一下这是怎么回事
代码不全。
你这个函数定义到哪里了,是不是嵌套到别的函数里面了
C不允许嵌套函数,贴出来的代码看不到问题
偶遇到类似问题都是用
“每次用/.../注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。