资料介绍
PID算法
#include
#include
#include
//void PIDInit(PID *PP);
/*定义结构体和公用体*/
#define N 8
typedef struct PID{
unsigned int setpoint; /*设定值*/
unsigned int proportion; /*比例系数*/
unsigned int integral; /*积分系数*/
unsigned int derivative; /*微分系数 */
unsigned int lasterror; /*前一拍误差*/
unsigned int preerror; /*前两拍误差*/
}PID;
union stu{
unsigned int value;
unsigned char num[2];
}laser;
union dat{
unsigned char dd[2];
unsigned int number;
}collect;
/*函数声明部分*/
unsigned int PIDcal(PID *pp,int thiserror);
void PIDInit(PID *PP);
void PortInit(void);
unsigned int get_ad(void);
unsigned int filter_valve(void);
void Delayms(void);
/*主函数部分*/
void main(void)
{
PID vPID; /*定义结构体变量名*/
unsigned int verror;
unsigned int Error;
unsigned int te