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

📄 c64.h

📁 SEED的VPM642测试程序-板级支持库
💻 H
字号:
/*
 *  Copyright 2003 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) DSP/BIOS 4.90.270 12-18-03 (barracuda-o04)" */
/*
 *  ======== c64.h ========
 *  'C64xx Peripheral Register Definitions
 *
 */

#ifndef C64_
#define C64_

#ifdef __cplusplus
extern "C" {
#endif

/*
 *  Interrupt vector id
 */
#define C64_NMI     1
#define C64_INT4    4
#define C64_INT5    5
#define C64_INT6    6
#define C64_INT7    7
#define C64_INT8    8
#define C64_INT9    9
#define C64_INT10   10
#define C64_INT11   11
#define C64_INT12   12
#define C64_INT13   13
#define C64_INT14   14
#define C64_INT15   15

/*
 *  Interrupt vector mask bits
 */
#define C64_EINT4   (1 << C64_INT4)
#define C64_EINT5   (1 << C64_INT5)
#define C64_EINT6   (1 << C64_INT6)
#define C64_EINT7   (1 << C64_INT7)
#define C64_EINT8   (1 << C64_INT8)
#define C64_EINT9   (1 << C64_INT9)
#define C64_EINT10  (1 << C64_INT10)
#define C64_EINT11  (1 << C64_INT11)
#define C64_EINT12  (1 << C64_INT12)
#define C64_EINT13  (1 << C64_INT13)
#define C64_EINT14  (1 << C64_INT14)
#define C64_EINT15  (1 << C64_INT15)

/*
 *  Timer Controller Registers 
 */
typedef volatile struct {
    Uns       control;        /* Global Control Register              */
    Uns       period;         /* Timer Period                         */
    Uns       counter;        /* Timer Counter                        */
} C64_TRegs;

/*
 * Timer Global Control Register Bits
 */
#define C64_FUNC        0x001   /* Configure TCLK as a timer            */
#define C64_INVOUT      0x002   /* TOUT inverter control.               */
#define C64_DATOUT      0x004   /* TCLK output value                    */
#define C64_DATIN       0x008   /* TCLK input value                     */
#define C64_GO          0x040   /* Reset and start timer                */
#define C64_HLDNOT      0x080   /* Don't hold the timer                 */
#define C64_CP          0x100   /* Clock/Pulse mode control             */
#define C64_CLKSRC      0x200   /* Use internal clock                   */
#define C64_INVINP      0x400   /* TINP inverter control bit            */
#define C64_TSTAT       0x800   /* Timer status                         */
 
/*
 * Peripheral Register Addresses
 */
#define C64_TREGS0      ((C64_TRegs *)0x01940000) /* Timer 0     */
#define C64_TREGS1      ((C64_TRegs *)0x01980000) /* Timer 1     */

/*
 * Preserved for backwards compatibility
 */
#define C64_disable(mask) C64_disableIER(mask)
#define C64_enable(mask) C64_enableIER(mask)
#define C64_disableGIE() HWI_disable()
#define C64_enableGIE(mask) HWI_restore(mask)

/*
 *  ======== C64_disableIER ========
 *  disable interrupts specified in mask and return old mask
 */
extern Uns  C64_disableIER( Uns mask );

/*
 *  ======== C64_enableIER ========
 *  enable interrupts specified by mask
 */
extern Void C64_enableIER( Uns mask );

/*
 *  ======== C64_mask ========
 */
#define C64_mask(devid) ((Uns)(1 << devid-1))

/*
 *  ======== C64_plug ========
 */
extern Void C64_plug( Int devid, Fxn isr, Int dmachan );

#ifdef __cplusplus
}
#endif /* extern "C" */

#endif  /* C64_ */

⌨️ 快捷键说明

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