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