📄 drv_motor.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 + -