Keil5 调试报错
代码为
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define KP 5
#define TI 0.06
#define TD 0.001
#define T 0.005
//#define KP 15
//#define TI 12
//#define TD 1.6
float y_cur;
float y_pre;
float e_cur;
float e_pre;
float e_last;
float u_cur;
float u_pre;
float u_aug;
uint r;
void pid_init()
{
r=INPUT;
y_cur=0;
y_pre=0;
u_pre=0;
e_pre=0;
e_last=0;
}
float pid_process()
{
float q0, q1, q2;
r=INPUT;
e_cur=r-y_cur;
q0=(float)( KP*(1+T/TI+TD/T));
q1=-KP-2*KP*TD/T;
q2=KP*TD/T;
u_aug=q0*e_cur+q1*e_pre+q2*e_last;
u_cur=u_aug+u_pre;
u_pre=u_cur;
e_last=e_pre;
e_pre=e_cur;
y_pre=y_cur;
if(u_cur>1000)
u_cur=1000;
if(u_cur<=0)
u_cur=0;
return u_cur;
}
float pid_process2()
{
r=INPUT;
e_cur=r-y_cur;
u_aug=(KP*(e_cur-e_pre)+TIe_cur+TD(e_cur-2*e_pre+e_last))/50;
u_cur=u_aug+u_pre;
u_pre=u_cur;
e_last=e_pre;
e_pre=e_cur;
if((uint)u_cur>1000)
u_cur=1000;
if((uint)u_cur<=0)
u_cur=0;
return u_cur;
}
麻烦大家帮忙看一下 非常感谢
看下这篇博客,也许你就懂了,链接:Keil编译错误error: #20: identifier "XXXX" is undefined报错是不因为INPUT你没有定义,INPUT你得自己定义一下再去使用