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

📄 omap30_dsptimer_l3.h

📁 有关于USB的一些主机端驱动
💻 H
字号:
//-------------------------------------------------------------------------------
//            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION           
//                                                                             
//   Property of Texas Instruments 
//   For  Unrestricted  Internal  Use  Only 
//   Unauthorized reproduction and/or distribution is strictly prohibited.  
//   This product is protected under copyright law and trade secret law 
//   as an unpublished work.  
//   Created 2000, (C) Copyright 1999 Texas Instruments.  All rights reserved.
//
//-------------------------------------------------------------------------------

#ifndef _DSPTIMER__HH
#define _DSPTIMER__HH

//-------------------------------------------------------------------------------
//
//   DSP REGISTERS DECLARATION
//
//-------------------------------------------------------------------------------

#define     DSPTIMER1_BASE_ADDR                           IO_TIMER1_ADDR
#define     DSPTIMER2_BASE_ADDR                           IO_TIMER2_ADDR
#define     DSPTIMER3_BASE_ADDR                           IO_TIMER3_ADDR


//Register Offset
//-------------------
#define     DSPTIMER_CNTL_TIMER_OFFSET                    0x00
#define     DSPTIMER_LOAD_TIM_HI_OFFSET                   0x04
#define     DSPTIMER_LOAD_TIM_LO_OFFSET                   0x08
#define     DSPTIMER_READ_TIM_HI_OFFSET                   0x0C
#define     DSPTIMER_READ_TIM_LO_OFFSET                   0x10



//DSPTIMERx_CNTL_TIMER
//-------------------
#define     DSPTIMER1_CNTL_TIMER                          REG16(DSPTIMER1_BASE_ADDR+DSPTIMER_CNTL_TIMER_OFFSET)
#define     DSPTIMER2_CNTL_TIMER                          REG16(DSPTIMER2_BASE_ADDR+DSPTIMER_CNTL_TIMER_OFFSET)
#define     DSPTIMER3_CNTL_TIMER                          REG16(DSPTIMER3_BASE_ADDR+DSPTIMER_CNTL_TIMER_OFFSET)


#define     DSPTIMER_CNTL_TIMER_RESERVED_POS              8
#define     DSPTIMER_CNTL_TIMER_RESERVED_NUMB             8
#define     DSPTIMER_CNTL_TIMER_RESERVED_RES_VAL          0x0
//R/W

#define     DSPTIMER_CNTL_TIMER_SOFT_POS                  7
#define     DSPTIMER_CNTL_TIMER_SOFT_NUMB                 1
#define     DSPTIMER_CNTL_TIMER_SOFT_RES_VAL              0x0
//R/W                                             

#define     DSPTIMER_CNTL_TIMER_FREE_POS                  6
#define     DSPTIMER_CNTL_TIMER_FREE_NUMB                 1
#define     DSPTIMER_CNTL_TIMER_FREE_RES_VAL              0x0
//R/W

#define     DSPTIMER_CNTL_TIMER_CLOCK_ENABLE_POS          5
#define     DSPTIMER_CNTL_TIMER_CLOCK_ENABLE_NUMB         1
#define     DSPTIMER_CNTL_TIMER_CLOCK_ENABLE_RES_VAL      0x0
//R/W

#define     DSPTIMER_CNTL_TIMER_PTV_POS                   2
#define     DSPTIMER_CNTL_TIMER_PTV_NUMB                  3
#define     DSPTIMER_CNTL_TIMER_PTV_RES_VAL               0x0
//R/W

#define     DSPTIMER_CNTL_TIMER_AR_POS                    1
#define     DSPTIMER_CNTL_TIMER_AR_NUMB                   1
#define     DSPTIMER_CNTL_TIMER_AR_RES_VAL                0x0
//R/W                                                               

#define     DSPTIMER_CNTL_TIMER_ST_POS                    0
#define     DSPTIMER_CNTL_TIMER_ST_NUMB                   1                     
#define     DSPTIMER_CNTL_TIMER_ST_RES_VAL                0x0
//R/W                                                             


//DSPTIMERx_LOAD_TIM_HI
//-------------------
#define     DSPTIMER1_LOAD_TIM_HI                         REG16(DSPTIMER1_BASE_ADDR+DSPTIMER_LOAD_TIM_HI_OFFSET)
#define     DSPTIMER2_LOAD_TIM_HI                         REG16(DSPTIMER2_BASE_ADDR+DSPTIMER_LOAD_TIM_HI_OFFSET)
#define     DSPTIMER3_LOAD_TIM_HI                         REG16(DSPTIMER3_BASE_ADDR+DSPTIMER_LOAD_TIM_HI_OFFSET)


#define     DSPTIMER_LOAD_TIM_HI_LOAD_TIM_POS             0
#define     DSPTIMER_LOAD_TIM_HI_LOAD_TIM_NUMB            16
#define     DSPTIMER_LOAD_TIM_HI_LOAD_TIM_RES_VAL         0x0
//W


//DSPTIMERx_LOAD_TIM_LO
//-------------------
#define     DSPTIMER1_LOAD_TIM_LO                         REG16(DSPTIMER1_BASE_ADDR+DSPTIMER_LOAD_TIM_LO_OFFSET)
#define     DSPTIMER2_LOAD_TIM_LO                         REG16(DSPTIMER2_BASE_ADDR+DSPTIMER_LOAD_TIM_LO_OFFSET)
#define     DSPTIMER3_LOAD_TIM_LO                         REG16(DSPTIMER3_BASE_ADDR+DSPTIMER_LOAD_TIM_LO_OFFSET)


#define     DSPTIMER_LOAD_TIM_LO_LOAD_TIM_POS             0
#define     DSPTIMER_LOAD_TIM_LO_LOAD_TIM_NUMB            16
#define     DSPTIMER_LOAD_TIM_LO_LOAD_TIM_RES_VAL         0x0
//W


//DSPTIMERx_READ_TIM_HI
//-------------------
#define     DSPTIMER1_READ_TIM_HI                         REG16(DSPTIMER1_BASE_ADDR+DSPTIMER_READ_TIM_HI_OFFSET)
#define     DSPTIMER2_READ_TIM_HI                         REG16(DSPTIMER2_BASE_ADDR+DSPTIMER_READ_TIM_HI_OFFSET)
#define     DSPTIMER3_READ_TIM_HI                         REG16(DSPTIMER3_BASE_ADDR+DSPTIMER_READ_TIM_HI_OFFSET)


#define     DSPTIMER_READ_TIM_HI_READ_TIM_POS             0
#define     DSPTIMER_READ_TIM_HI_READ_TIM_NUMB            16
#define     DSPTIMER_READ_TIM_HI_READ_TIM_RES_VAL         0x0
//R


//DSPTIMERx_READ_TIM_LO
//-------------------
#define     DSPTIMER1_READ_TIM_LO                         REG16(DSPTIMER1_BASE_ADDR+DSPTIMER_READ_TIM_LO_OFFSET)
#define     DSPTIMER2_READ_TIM_LO                         REG16(DSPTIMER2_BASE_ADDR+DSPTIMER_READ_TIM_LO_OFFSET)
#define     DSPTIMER3_READ_TIM_LO                         REG16(DSPTIMER3_BASE_ADDR+DSPTIMER_READ_TIM_LO_OFFSET)


#define     DSPTIMER_READ_TIM_LO_READ_TIM_POS             0
#define     DSPTIMER_READ_TIM_LO_READ_TIM_NUMB            16
#define     DSPTIMER_READ_TIM_LO_READ_TIM_RES_VAL         0x0
//R


//-------------------------------------------------------------------------------
//
//   GLOBAL TYPES DEFINITION
//
//-------------------------------------------------------------------------------

//  TIMER_NAME_t 
//-------------------
typedef enum {
  DSPTIMER1,
  DSPTIMER2,
  DSPTIMER3,
  DSPWDG 
} TIMER_NAME_t;


//  TIMER_MODE_t 
//-------------------
typedef enum {
  TIMER_ONESHOT_MODE,
  TIMER_AUTORELOAD_MODE
} TIMER_MODE_t;


//-------------------------------------------------------------------------------
//
//  FUNCTIONS
//
//-------------------------------------------------------------------------------

//-------------------------------------------------------------------------------
// NAME        : DSPTIMER_Setup
// DESCRIPTION : Setup the timer
// PARAMETERS  :
//   TimerName  =  DSPTIMER1
//                 DSPTIMER2
//                 DSPTIMER3
//                 DSPWDG
//                               
//   LoadValue  =  [0x0 .. 0xFFFFFFFF]
// 
//   TimerMode  =  TIMER_ONESHOT_MODE
//                 TIMER_AUTORELOAD_MODE
//
//   TimerScaler =  [0 .. 7]
//
// RETURN VALUE: OK or NOT_OK if problem
// LIMITATIONS : None
//-------------------------------------------------------------------------------
UWORD16 DSPTIMER_Setup(TIMER_NAME_t TimerName, UWORD32 LoadValue, TIMER_MODE_t TimerMode, UWORD8 TimerScaler);

//----------------------------------------------------------
// NAME        : DSPTIMER_EnableInputClock 
// DESCRIPTION : Enable the input clock from the CLKRST and in
//               the timer for the DSPTIMERs
// PARAMETERS  :
//   TimerName  =  DSPTIMER1
//                 DSPTIMER2
//                 DSPTIMER3
//                 DSPWDG
//                               
// RETURN VALUE: IS_OK if the operation succeed
//               NOT_OK if not
//  LIMITATIONS : None
// ----------------------------------------------------------
UWORD16 DSPTIMER_EnableInputClock(TIMER_NAME_t TimerName);

//---------------------------------------------------------------------
// NAME        : DSPTIMER_LoadValue
// DESCRIPTION : Write the Setup Counter value into Load Register
// PARAMETERS  :          
//   TimerName  =  DSPTIMER1
//                 DSPTIMER2
//                 DSPTIMER3
//                 DSPWDG
//                               
//   LoadValue = [0x0 .. 0xFFFFFFFF]
//
// RETURN VALUE: OK or NOT_OK
// LIMITATIONS : None
//---------------------------------------------------------------------
UWORD16 DSPTIMER_LoadValue(TIMER_NAME_t TimerName, UWORD32 loadValue);

//------------------------------------------------------------------
// NAME        : DSPTIMER_Start
//               DSPTIMER_Stop                        
// DESCRIPTION : Start and Stop the timer
// PARAMETERS  :
//   TimerName  =  DSPTIMER1
//                 DSPTIMER2
//                 DSPTIMER3
//                 DSPWDG
//
// RETURN VALUE: None
// LIMITATIONS : None
//------------------------------------------------------------------
UWORD16 DSPTIMER_Start(TIMER_NAME_t TimerName);
UWORD16 DSPTIMER_Stop(TIMER_NAME_t TimerName);


#endif

⌨️ 快捷键说明

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