char DEC;
//for Parse
//int Speed=400;
//传感器
unsigned char SenA[14],SenA1[14];//LastSA[10],SenA2[10];
unsigned int SASum,SANum,SANum2,SATurn;
int StatusA,StatusA2,RudDuty,LastStaA,PreLaStaA;
unsigned int TempA,LaSenNumA,PreLaSenNumA;
unsigned int TempA2,TempA3,LaSumA,PreLaSumA,PreSum0,PreSum1,PreSum2;
int Path_Table[10],j=0,StatusA1,k1,k2,k3;
//传感器跳变参数
unsigned int kA[4],knum=0,PreLaTurnA,LaTurnA;
//for AD
unsigned char AD_Limit[14]={160,180,195,185,150,135,95,120,170,160,170,135,145,150};
//for Rud
int CurErrR,LastErrR,PreErrR,CarSpeeR,RudAdd,Initangle,PWMOutRA=1380;
float Kp_R,Ki_R=0,Kd_R=18; //25.5 Kp_R=17,Ki_R=0,Kd_R=18;(7.14 之前)
float KP=1.6,KI=0.01,KD=0; //7.14 号 跑的不错
int ErrPreLast=0,ErrLast=0,ErrCurr=0,Delta=0,PWMOut=270;//速度平衡值
int d_error,dd_error;
int RudDutyLast=1340;
int K_R;
//--延时 x*1ms--//
void delay(unsigned int x)
{
for(;x>0;x--)
for(y=3998;y>0;y--);
}
//--延时 z*10us--//
void delay10us(unsigned int z)
{
for(;z>0;z--)
for(y1=38;y1>0;y1--);
}
评论2