单片机C语言,需要一个编写封装好的PID算法头文件,寻求帮助。
发布网友
发布时间:2022-04-27 01:16
我来回答
共1个回答
热心网友
时间:2023-11-15 12:36
#ifndef _PID_H_
#define _PID_H_
typedef struct PID
{
int SetPoint; //设定目标
float Kp; //比例常数
float Ki; //积分常数
int eKT; //上次差值
} PID;
static PID sPID;
static PID *sptr = &sPID;
void IncPIDInit(void)
{
sptr->eKT = 0; //上次差值
sptr->Kp = 0; //比例常数
sptr->Ki = 0; //积分常数
sptr->SetPoint = 0; //设定值
}
int IncPIDCalc(int NextPoint)
{
static
int iError,uKT; //当前误差
iError = sptr->SetPoint - NextPoint; //增量计算
uKT=uKT+sptr->Kp*(iError-sptr->eKT)+sptr->Ki*iError;//存储本次PID值
sptr->eKT = iError;
//返回增量值
return(
uKT);
}
#endif
希望对你有帮助。追问那头文件名称有固定么?一般取名什么
追答我这里是命名PID.h