⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_motor.h

📁 uCOS2 for 51系列
💻 H
字号:
/*********************************************************************************************************
**				                         uC/OS 2 FOR TI TMS320240X
**                                   The Real-Time Kernel(For CCS2.2)
**
**                                  
**                                                V0.00.1
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: Drv_DCMotor.H
**创   建   人: 龚树强
**版        本: V0.01.1
**最后修改日期: 2005年5月10日
**描        述: 步进电机控制函数头文件
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 龚树强
** 版  本: V0.01.1
** 日 期: 2005年4月22日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人: 
** 版  本: 
** 日 期: 
** 描 述: 
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#ifndef __DRV_DC_MOTOR_H__
#define	__DRV_DC_MOTOR_H__


#define	DC_MOTOR_TEST_EN								0

/*******************************************************************************
*********************			常	量	定	义			************************
********************************************************************************/


/*******************************************************************************
*********************	    任 务 优 先 级 定 义 		************************
********************************************************************************/
#define	DC_MOTOR_0_PRIO								(DC_MOTOR_CTRL_PRIO)
#define	DC_MOTOR_1_PRIO								(DC_MOTOR_CTRL_PRIO + 1)

/*******************************************************************************
*********************			常	量	定	义			************************
********************************************************************************/  

#define	DC_MOTOR_SELECT_0							'0'
#define	DC_MOTOR_SELECT_1							'1'

#define	DC_MOTOR_KILL_TASK							'K'
#define	DC_MOTOR_SET_MODE							'm'
#define	DC_MOTOR_CHANGE_PARAM_I						'I'
#define	DC_MOTOR_CHANGE_PARAM_N					'N'
#define	DC_MOTOR_SET_DIRECTION						'd'
#define	DC_MOTOR_SET_MAX_VELOCITY					'v'
#define	DC_MOTOR_SET_MAX_S							's'
#define	DC_MOTOR_SET_ACCELERATE						'a'
#define	DC_MOTOR_SET_P								'p'
#define	DC_MOTOR_SET_I								'i'

#define	DC_MOTOR_ACTION								'm'
#define	DC_MOTOR_HALT									'h'


#define	DC_MOTOR_CONTROL_CYCLE						(32)
#define	SPI_BAUD_RATE									(SYSCLK/127)


#define	DC_MOTOR0_SELECTED							0x01
#define	DC_MOTOR1_SELECTED							0x02


#ifndef DIRECTION_FORWARD
#define	DIRECTION_FORWARD							0xAA
#endif

#ifndef DIRECTION_BACKWARD
#define	DIRECTION_BACKWARD							0x55
#endif

#define	CURRENT_MODULATE_CYCLE						32

#define	EXT_AD_CHANEL									0x0000

#define	I_MAX											(1)
#define	N_U_MAX										((((I_MAX<<12)/165)*10)<<3)
#define	I_U_MAX										((SYSCLK/DC_MOTOR_CONTROL_CYCLE/CURRENT_MODULATE_CYCLE)/2)

typedef	struct dc_motor_property
{
	INT16U		mode;
	INT16U		dir;
	INT16S		dV;
	INT16S		Vm;
	INT16S		Vt;
	INT16S		Vr;
	INT32S		St;
	INT32S		Sr;
	INT16S		It;
	INT16S		Ir;
}DC_MOTOR_PROPERTY;

typedef	struct dc_motor_func
{
	void 	(*SetVelocity)(INT16S);
}DC_MOTOR_FUNC;


typedef struct	dc_motor_ctrl_api
{
	INT8U		ObjLoaded;
	OS_EVENT	*Mbox;
	OS_EVENT	*MboxSem;
}DC_MOTOR_CTRL_API; 
   
typedef	struct dc_motor_ctrl
{
	DC_MOTOR_CTRL_API	api;
	DC_MOTOR_PROPERTY	property;
	DC_MOTOR_FUNC		func;
}DC_MOTOR_CTRL;


extern	const	INT8U	name_dc_motor[];

extern	const	struct	obj_operation	DCMotorOperation; 

extern	INT16U	gADC_BUF;


/*******************************************************************************
*********************			变	量	定	义			************************
********************************************************************************/  

extern	DC_MOTOR_CTRL			DCMotor0_Ctrl;
extern	OS_STK 					STK_DCMotor0[TASK_STK_SIZE];

extern	DC_MOTOR_CTRL			DCMotor1_Ctrl;
extern	OS_STK 					STK_DCMotor1[TASK_STK_SIZE];



/*******************************************************************************
*********************		功	能	函	数	定	义		************************
********************************************************************************/  


/*********************************************************************************************************
** 函数名称: DCMotor_Init
** 功能描述: DCMotor初始化函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotor0_Init(void * pData,INT8U * err);
		
/*********************************************************************************************************
** 函数名称: DCMotorIOCtrl
** 功能描述: DCMotorIO函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotorIOCtrl(void * pData,INT8U * err);

/*********************************************************************************************************
** 函数名称: DCMotorLoad
** 功能描述: DCMotor任务装载函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotorLoad(void * pData,INT8U * err);

/*********************************************************************************************************
** 函数名称: DCMotorUnLoad
** 功能描述: DCMotor任务卸载函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotorUnLoad(void * pData,INT8U * err);

/*********************************************************************************************************
** 函数名称: DCMotorSet
** 功能描述: DCMotor属性调整函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotorSet(void * pData,INT8U * err);

/*********************************************************************************************************
** 函数名称: DCMotorTest
** 功能描述: DCMotor测试函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotorTest(void * pData,INT8U * err);

/*********************************************************************************************************
** 函数名称: DCMotorDeamon
** 功能描述: DCMotor任务守护函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
		void 	DCMotorDeamon(void * pData,INT8U * err);




























/*******************************************************************************
*********************			任  务	定	义			************************
********************************************************************************/  

/*********************************************************************************************************
** 函数名称: DCDCMotorSetVelocity
** 功能描述: 直流电机速度设置函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年5月12日
**-------------------------------------------------------------------------------------------------------
**修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/	
		void	DCMotor0SetVelocity( INT16S vt);

/*********************************************************************************************************
** 函数名称: ISR_DCMotor
** 功能描述: DCMotor中断控制函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
 		void ISR_DCMotor0(void);

/*********************************************************************************************************
** 函数名称: Task_DCMotor
** 功能描述: DCMotor控制任务函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/  
 
 		void Task_DCMotor(void *pData);


#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -