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

📄 csl_timerhal.h

📁 本程序用于合众达DMS643开发板的音频采集和显示程序!程序当中用到了mcasp 串口
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************\*           Copyright (C) 2000 Texas Instruments Incorporated.*                           All Rights Reserved*------------------------------------------------------------------------------* FILENAME...... csl_timerhal.h* DATE CREATED.. 08/14/2000* LAST MODIFIED. 08/02/2004 - Adding support for C6418*                09/30/2003  Added SPND field description macros for CTL reg.*                10/03/2000*------------------------------------------------------------------------------* REGISTERS** CTL0  - timer control register 0* CTL1  - timer control register 1* CTL2  - timer control register 2 (1)* PRD0  - timer period register 0* PRD1  - timer period register 1* PRD2  - timer period register 2 (1)* CNT0  - timer count register 0* CNT1  - timer count register 1* CNT2  - timer count register 2 (1)** (1) - only supported on C64x devices*\******************************************************************************/#ifndef _CSL_TIMERHAL_H_#define _CSL_TIMERHAL_H_#include <csl_stdinc.h>#include <csl_chip.h>#if (TIMER_SUPPORT)/******************************************************************************\* MISC section\******************************************************************************/#if (CHIP_6414 | CHIP_6415 | CHIP_6416 | CHIP_DM642 | CHIP_DM641 | CHIP_DM640 | CHIP_6412 | CHIP_6411 | CHIP_6410 | CHIP_6413 | CHIP_6418)  #define TIMER_DEVICE_CNT  3  #define _TIMER_BASE_DEV0  0x01940000u  #define _TIMER_BASE_DEV1  0x01980000u  #define _TIMER_BASE_DEV2  0x01AC0000u#else  #define TIMER_DEVICE_CNT  2  #define _TIMER_BASE_DEV0  0x01940000u  #define _TIMER_BASE_DEV1  0x01980000u#endif/******************************************************************************\* module level register/field access macros\******************************************************************************/  /* ----------------- */  /* FIELD MAKE MACROS */  /* ----------------- */  #define TIMER_FMK(REG,FIELD,x)\    _PER_FMK(TIMER,##REG,##FIELD,x)  #define TIMER_FMKS(REG,FIELD,SYM)\    _PER_FMKS(TIMER,##REG,##FIELD,##SYM)  /* -------------------------------- */  /* RAW REGISTER/FIELD ACCESS MACROS */  /* -------------------------------- */  #define TIMER_ADDR(REG)\    _TIMER_##REG##_ADDR  #define TIMER_RGET(REG)\    _PER_RGET(_TIMER_##REG##_ADDR,TIMER,##REG)  #define TIMER_RSET(REG,x)\    _PER_RSET(_TIMER_##REG##_ADDR,TIMER,##REG,x)  #define TIMER_FGET(REG,FIELD)\    _TIMER_##REG##_FGET(##FIELD)  #define TIMER_FSET(REG,FIELD,x)\    _TIMER_##REG##_FSET(##FIELD,##x)  #define TIMER_FSETS(REG,FIELD,SYM)\    _TIMER_##REG##_FSETS(##FIELD,##SYM)  /* ------------------------------------------ */  /* ADDRESS BASED REGISTER/FIELD ACCESS MACROS */  /* ------------------------------------------ */  #define TIMER_RGETA(addr,REG)\    _PER_RGET(addr,TIMER,##REG)  #define TIMER_RSETA(addr,REG,x)\    _PER_RSET(addr,TIMER,##REG,x)  #define TIMER_FGETA(addr,REG,FIELD)\    _PER_FGET(addr,TIMER,##REG,##FIELD)  #define TIMER_FSETA(addr,REG,FIELD,x)\    _PER_FSET(addr,TIMER,##REG,##FIELD,x)  #define TIMER_FSETSA(addr,REG,FIELD,SYM)\    _PER_FSETS(addr,TIMER,##REG,##FIELD,##SYM)  /* ----------------------------------------- */  /* HANDLE BASED REGISTER/FIELD ACCESS MACROS */  /* ----------------------------------------- */  #define TIMER_ADDRH(h,REG)\    (Uint32)(&((h)->baseAddr[_TIMER_##REG##_OFFSET]))  #define TIMER_RGETH(h,REG)\    TIMER_RGETA(TIMER_ADDRH(h,##REG),##REG)  #define TIMER_RSETH(h,REG,x)\    TIMER_RSETA(TIMER_ADDRH(h,##REG),##REG,x)  #define TIMER_FGETH(h,REG,FIELD)\    TIMER_FGETA(TIMER_ADDRH(h,##REG),##REG,##FIELD)  #define TIMER_FSETH(h,REG,FIELD,x)\    TIMER_FSETA(TIMER_ADDRH(h,##REG),##REG,##FIELD,x)  #define TIMER_FSETSH(h,REG,FIELD,SYM)\    TIMER_FSETSA(TIMER_ADDRH(h,##REG),##REG,##FIELD,##SYM)/******************************************************************************\* _____________________* |                   |* |  C T L            |* |___________________|** CTL0  - timer control register 0* CTL1  - timer control register 1* CTL2  - timer control register 2 (1)** FIELDS (msb -> lsb)* (rw) SPND   (1)* (r)  TSTAT* (rw) INVINP* (rw) CLKSRC* (rw) CP* (rw) HLD* (rw) GO* (rw) PWID* (r)  DATIN* (rw) DATOUT* (rw) INVOUT* (rw) FUNC** (1) - only supported on C64x devices\******************************************************************************/  #define _TIMER_CTL_OFFSET            0  #define _TIMER_CTL0_ADDR             0x01940000u  #define _TIMER_CTL1_ADDR             0x01980000u  #if (TIMER_DEVICE_CNT == 3)    #define _TIMER_CTL2_ADDR           0x01AC0000u  #endif  #if (C64_SUPPORT)		#define _TIMER_CTL_SPND_MASK         0x00008000u	#define _TIMER_CTL_SPND_SHIFT        0x0000000Fu	#define TIMER_CTL_SPND_DEFAULT       0x00000000u	#define TIMER_CTL_SPND_OF(x)         _VALUEOF(x)	#define TIMER_CTL_SPND_EMUSTOP       0x00000001u	#define TIMER_CTL_SPND_EMURUN        0x00000000u	  #endif	  #define _TIMER_CTL_TSTAT_MASK        0x00000800u  #define _TIMER_CTL_TSTAT_SHIFT       0x0000000Bu  #define  TIMER_CTL_TSTAT_DEFAULT     0x00000000u  #define  TIMER_CTL_TSTAT_OF(x)       _VALUEOF(x)  #define  TIMER_CTL_TSTAT_0           0x00000000u  #define  TIMER_CTL_TSTAT_1           0x00000001u  #define _TIMER_CTL_INVINP_MASK       0x00000400u  #define _TIMER_CTL_INVINP_SHIFT      0x0000000Au  #define  TIMER_CTL_INVINP_DEFAULT    0x00000000u  #define  TIMER_CTL_INVINP_OF(x)      _VALUEOF(x)  #define  TIMER_CTL_INVINP_NO         0x00000000u  #define  TIMER_CTL_INVINP_YES        0x00000001u  #define _TIMER_CTL_CLKSRC_MASK       0x00000200u  #define _TIMER_CTL_CLKSRC_SHIFT      0x00000009u  #define  TIMER_CTL_CLKSRC_DEFAULT    0x00000000u  #define  TIMER_CTL_CLKSRC_OF(x)      _VALUEOF(x)  #define  TIMER_CTL_CLKSRC_EXTERNAL   0x00000000u  #if (C64_SUPPORT)    #define  TIMER_CTL_CLKSRC_CPUOVR8    0x00000001u  #else    #define  TIMER_CTL_CLKSRC_CPUOVR4    0x00000001u  #endif  #define _TIMER_CTL_CP_MASK           0x00000100u  #define _TIMER_CTL_CP_SHIFT          0x00000008u  #define  TIMER_CTL_CP_DEFAULT        0x00000000u  #define  TIMER_CTL_CP_OF(x)          _VALUEOF(x)  #define  TIMER_CTL_CP_PULSE          0x00000000u  #define  TIMER_CTL_CP_CLOCK          0x00000001u  #define _TIMER_CTL_HLD_MASK          0x00000080u  #define _TIMER_CTL_HLD_SHIFT         0x00000007u  #define  TIMER_CTL_HLD_DEFAULT       0x00000000u  #define  TIMER_CTL_HLD_OF(x)         _VALUEOF(x)  #define  TIMER_CTL_HLD_YES           0x00000000u  #define  TIMER_CTL_HLD_NO            0x00000001u  #define _TIMER_CTL_GO_MASK           0x00000040u  #define _TIMER_CTL_GO_SHIFT          0x00000006u  #define  TIMER_CTL_GO_DEFAULT        0x00000000u  #define  TIMER_CTL_GO_OF(x)          _VALUEOF(x)  #define  TIMER_CTL_GO_NO             0x00000000u  #define  TIMER_CTL_GO_YES            0x00000001u  #define _TIMER_CTL_PWID_MASK         0x00000010u  #define _TIMER_CTL_PWID_SHIFT        0x00000004u  #define  TIMER_CTL_PWID_DEFAULT      0x00000000u  #define  TIMER_CTL_PWID_OF(x)        _VALUEOF(x)  #define  TIMER_CTL_PWID_ONE          0x00000000u  #define  TIMER_CTL_PWID_TWO          0x00000001u  #define _TIMER_CTL_DATIN_MASK        0x00000008u  #define _TIMER_CTL_DATIN_SHIFT       0x00000003u  #define  TIMER_CTL_DATIN_DEFAULT     0x00000000u  #define  TIMER_CTL_DATIN_OF(x)       _VALUEOF(x)  #define  TIMER_CTL_DATIN_0           0x00000000u  #define  TIMER_CTL_DATIN_1           0x00000001u  #define _TIMER_CTL_DATOUT_MASK       0x00000004u  #define _TIMER_CTL_DATOUT_SHIFT      0x00000002u  #define  TIMER_CTL_DATOUT_DEFAULT    0x00000000u  #define  TIMER_CTL_DATOUT_OF(x)      _VALUEOF(x)  #define  TIMER_CTL_DATOUT_0          0x00000000u  #define  TIMER_CTL_DATOUT_1          0x00000001u  #define _TIMER_CTL_INVOUT_MASK       0x00000002u  #define _TIMER_CTL_INVOUT_SHIFT      0x00000001u  #define  TIMER_CTL_INVOUT_DEFAULT    0x00000000u

⌨️ 快捷键说明

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