STM32学习记录_基础篇_KEIL5工程结构_文件结构

KEIL5文件主要包含Core文件夹,Drivers文件夹

1.CORE文件夹

用户目标功能实现文件,包含Src Inc

1.1.Src

.c文件

  • 全局变量定义
  • 功能函数定义
//------------------头文件包含
#include "pid.h"

//-----------------定义结构体全局变量
PID PosionPID;

//-----------------功能函数定义
void PID_param_init()
{
	float pid_temp[3];
	
	PosionPID.target_val=3600;				
	PosionPID.output_val=0.0;
	PosionPID.Error=0.0;
	PosionPID.LastError=0.0;
	PosionPID.integral=0.0;

	PosionPID.Kp = 10;
	PosionPID.Ki = 0.5;
	PosionPID.Kd = 0.8;

	pid_temp[0] = PosionPID.Kp;
	pid_temp[1] = PosionPID.Ki;
	pid_temp[2] = PosionPID.Kd;
	set_computer_value(SEND_P_I_D_CMD, CURVES_CH3, pid_temp, 3);     
}

1.1.Inc

.h头文件

  • 宏定义
  • 结构体变量定义
  • 用到的外部变量,结构体声明 extern
  • 功能函数声明
#ifndef __PID_H
#define	__PID_H

//---------------------包含项目用到的头文件
#include "sys.h"
//-----------------------一个宏定义?
#define PID_ASSISTANT_EN (1) 

//-----------------------定义结构体变量PID
typedef struct
{
	float target_val;
	float Error;          
	float LastError;    
	float PrevError;    
	float Kp,Ki,Kd;     
	float integral;     
	float output_val;   
}PID;

//------------------------包含用到的全局变量
extern PID PosionPID;

//------------------------对应.c文件函数声明
void  PID_param_init(void);
void  set_PID_target(float temp_val);
float get_pid_target(PID *pid);
void  set_PID(float p, float i, float d);
float PosionPID_realize(PID *pid, float actual_val);

#endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值