帮我解读这段程序

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:59:48
# include <stdio.h>
# include<math.h>

struct _pid
{
int pv; /*integer that contains the process value*/
int sp; /*integer that contains the set point*/
float integral;
float pgain;
float igain;
float dgain;
int deadband;
int last_error;
};
struct _pid warm,*pid;
int process_point, set_point,dead_band;
float p_gain, i_gain, d_gain, integral_val,new_integ;

void pid_init(struct _pid *warm, int process_point, int set_point)
{
struct _pid *pid;
pid=warm;
pid->pv = process_point;
pid->sp = set_point;
}
/*------------------------------------------------------------------------
pid_tune

DESCRIPTION Sets the proportional gain (p_gain), integral gain (i_gain),
derivitive gain (d_gain), and the dead band (dead_band) of
a pid control structure _pid. (pid_tune 描述集的比例增益( p_gain ) ,

不就是设置结构体的几个成员的函数么,有什么好解读的?

//定义一个结构体_pid
struct _pid
{
int pv; /*integer that contains the process value*/
int sp; /*integer that contains the set point*/
float integral;
float pgain;
float igain;
float dgain;
int deadband;
int last_error;
};
struct _pid warm,*pid; //定义1个类型为_pid型的变量warm和一个指向_pid型的变量warm
int process_point, set_point,dead_band;
float p_gain, i_gain, d_gain, integral_val,new_integ;

//定义一个函数pid_init
void pid_init(struct _pid *warm, int process_point, int set_point)
{
struct _pid *pid;
pid=warm; //把warm定义的结构体的内容附给pid
pid->pv = process_point; //设置pid的参数pv
pid->sp = set_point;//设置pid的参数sp
}
/*------------------------------------------------------------------------
pid_tune

DESCRIPTION Sets the proportional gain (p_gain), integral gain (i_gain),
derivitive gain (d_gain), and the dead band (dead_band) of