22 lines
503 B
C
22 lines
503 B
C
#ifndef __PID_H__
|
||
#define __PID_H__
|
||
|
||
typedef struct
|
||
{
|
||
float kp;
|
||
float ki;
|
||
float kd;
|
||
|
||
float setpoint; // 目标值
|
||
float integral; // 积分项
|
||
float prev_error; // 上一次误差
|
||
float output; // 输出
|
||
|
||
unsigned long last_time; // 上次计算的时间戳(单位:ms)
|
||
} PID_TypeDef;
|
||
|
||
void PID_Init(PID_TypeDef *pid, float kp,float ki, float ka);
|
||
float PID_Calculate(PID_TypeDef *pid,float measured,unsinged long now_time);
|
||
|
||
#endif // __PID_H__
|