📄 drv_s_motor.h
字号:
/*********************************************************************************************************
** uC/OS 2 FOR TI TMS320240X
** The Real-Time Kernel(For CCS2.2)
**
**
** V0.00.1
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: Drv_StepStepMotor.H
**创 建 人: 龚树强
**版 本: V0.01.1
**最后修改日期: 2005年5月10日
**描 述: 步进电机控制函数头文件
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 龚树强
** 版 本: V0.01.1
** 日 期: 2005年4月22日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __DRV_S_MOTOR_H__
#define __DRV_S_MOTOR_H__
/*******************************************************************************
********************* 常 量 定 义 ************************
********************************************************************************/
/*******************************************************************************
********************* 任 务 优 先 级 定 义 ************************
********************************************************************************/
#define STEPMOTOR_0_PRIO (STEPMOTOR_CTRL_PRIO)
#define STEPMOTOR_1_PRIO (STEPMOTOR_CTRL_PRIO + 1)
/*******************************************************************************
********************* 常 量 定 义 ************************
********************************************************************************/
#define STEPMOTOR_SELECT_0 '0'
#define STEPMOTOR_SELECT_1 '1'
#define STEPMOTOR_KILL_TASK 'k'
#define STEPMOTOR_SET_MODE 'm'
#define STEPMOTOR_SET_DIRECTION 'd'
#define STEPMOTOR_SET_MAX_VELOCITY 'v'
#define STEPMOTOR_SET_MAX_STEPS 's'
#define STEPMOTOR_SET_ACCELERATE 'a'
#define STEPMOTOR_ACTION 'm'
#define STEPMOTOR_HALT 'h'
#define MAX_DIVIDER 10
#define PWM_REPEATE_TIMES 10
#define STEPMOTOR0_SELECTED 0x01
#define STEPMOTOR1_SELECTED 0x02
#define STEP_MOTOR_ACTION 0xAA
#define STEP_MOTOR_HALT 0x55
#ifndef DIRECTION_FORWARD
#define DIRECTION_FORWARD 0xAA
#endif
#ifndef DIRECTION_BACKWARD
#define DIRECTION_BACKWARD 0x55
#endif
#define STEP_MOTOR_CONTROL_PERIOD_DIVIDER 4
#define STEP_MOTOR_CONTROL_PERIOD ( OS_TICKS_PER_SEC / STEP_MOTOR_CONTROL_PERIOD_DIVIDER + 1)
typedef struct stepmotor_property
{
INT16U mode;
INT16U dir;
INT16S dV;
INT16S Vm;
INT16S Vt;
INT16S Vr;
INT16S St;
INT16S Sr;
}STEPMOTOR_PROPERTY;
typedef struct stepmotor_func
{
void (*SetVelocity)(INT16S);
}STEPMOTOR_FUNC;
typedef struct stepmotor_ctrl_api
{
INT8U ObjLoaded;
OS_EVENT *Mbox;
OS_EVENT *MboxSem;
}STEPMOTOR_CTRL_API;
typedef struct stepmotor_ctrl
{
STEPMOTOR_CTRL_API api;
STEPMOTOR_PROPERTY property;
STEPMOTOR_FUNC func;
}STEPMOTOR_CTRL;
extern const INT8U name_stepmotor[];
extern const struct obj_operation StepMotorOperation;
/*******************************************************************************
********************* 变 量 定 义 ************************
********************************************************************************/
extern STEPMOTOR_CTRL StepMotor0_Ctrl;
extern OS_STK STK_StepMotor0[TASK_STK_SIZE];
extern STEPMOTOR_CTRL StepMotor1_Ctrl;
extern OS_STK STK_StepMotor1[TASK_STK_SIZE];
/*******************************************************************************
********************* 功 能 函 数 定 义 ************************
********************************************************************************/
/*********************************************************************************************************
** 函数名称: StepMotor_Init
** 功能描述: StepMotor初始化函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotor0_Init(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorIOCtrl
** 功能描述: StepMotorIO函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotorIOCtrl(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorLoad
** 功能描述: StepMotor任务装载函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotorLoad(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorUnLoad
** 功能描述: StepMotor任务卸载函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotorUnLoad(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorSet
** 功能描述: StepMotor属性调整函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotorSet(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorTest
** 功能描述: StepMotor测试函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotorTest(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorDeamon
** 功能描述: StepMotor任务守护函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotorDeamon(void * pData,INT8U * err);
/*********************************************************************************************************
** 函数名称: StepMotorIOCtrl
** 功能描述: StepMotorIO函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
/*******************************************************************************
********************* 任 务 定 义 ************************
********************************************************************************/
/*********************************************************************************************************
** 函数名称: StepMotorSetVelocity
** 功能描述: 步进电机速度设置函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年5月12日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void StepMotor0SetVelocity( INT16S vt);
/*********************************************************************************************************
** 函数名称: ISR_StepMotor
** 功能描述: StepMotor中断控制函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void ISR_StepMotor0(void);
/*********************************************************************************************************
** 函数名称: Task_StepMotor
** 功能描述: StepMotor控制任务函数
** 输 入: 无
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 龚树强
** 日 期: 2005年4月22日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Task_StepMotor(void *pData);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -