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

📄 csl_rtiaux.h

📁 基于ti tms320c672x下音频开发例子程式
💻 H
📖 第 1 页 / 共 3 页
字号:
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiBlock0Stop (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIGCTRL, RTI_RTIGCTRL_CNT0EN, STOPBLK0);
}

/** ============================================================================
 *   @n@b CSL_rtiBlock1Start
 *
 *   @b Description
 *       Start the Block1 Counters
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt block1 counters started
 *
 *   @b  Modifies
 *   @n  RTI Global Control register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiBlock1Start (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiBlock1Start (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIGCTRL, RTI_RTIGCTRL_CNT1EN, STARTBLK1);
}

/** ============================================================================
 *   @n@b CSL_rtiBlock1Stop
 *
 *   @b Description
 *       Stop the Block1 Counters
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt block1 counters stoped
 *
 *   @b  Modifies
 *   @n  RTI Global Control register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiBlock1Stop (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiBlock1Stop (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIGCTRL, RTI_RTIGCTRL_CNT1EN, STOPBLK1);
}

/** ============================================================================
 *   @n@b CSL_rtiClearInt0
 *
 *   @b Description
 *       clear the compare interrupt0
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt compare interrupt0 cleared
 *
 *   @b  Modifies
 *   @n  RTI Interrupt Flag Register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiClearInt0 (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiClearInt0 (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIINTFLAG, RTI_RTIINTFLAG_INT0, CLEARINT0);
}

/** ============================================================================
 *   @n@b CSL_rtiClearInt1
 *
 *   @b Description
 *       clear the compare interrupt1
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt compare interrupt1 cleared
 *
 *   @b  Modifies
 *   @n  RTI Interrupt Flag Register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiClearInt1 (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiClearInt1 (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIINTFLAG, RTI_RTIINTFLAG_INT1, CLEARINT1);
}

/** ============================================================================
 *   @n@b CSL_rtiClearInt2
 *
 *   @b Description
 *       clear the compare interrupt2
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt compare interrupt2 cleared
 *
 *   @b  Modifies
 *   @n  RTI Interrupt Flag Register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiClearInt2 (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiClearInt2 (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIINTFLAG, RTI_RTIINTFLAG_INT2, CLEARINT2);
}

/** ============================================================================
 *   @n@b CSL_rtiClearInt3
 *
 *   @b Description
 *       clear the compare interrupt3
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt compare interrupt3 cleared
 *
 *   @b  Modifies
 *   @n  RTI Interrupt Flag Register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiClearInt3 (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiClearInt3 (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIINTFLAG, RTI_RTIINTFLAG_INT3, CLEARINT3);
}

/** ============================================================================
 *   @n@b CSL_rtiClearOvfInt0
 *
 *   @b Description
 *       clear the overflow interrupt0
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt overflow interrupt0 cleared
 *
 *   @b  Modifies
 *   @n  RTI Interrupt Flag Register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiClearOvfInt0 (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiClearOvfInt0 (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIINTFLAG, RTI_RTIINTFLAG_OVL0INT, CLEAROVFINT0);
}

/** ============================================================================
 *   @n@b CSL_rtiClearOvfInt1
 *
 *   @b Description
 *       clear the overflow interrupt1
 *
 *   @b Arguments
 *   @verbatim
        hRti    Handle to the real time interrupt instance
     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  real time interrupt overflow interrupt1 cleared
 *
 *   @b  Modifies
 *   @n  RTI Interrupt Flag Register
 *
 *   @b  Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
        CSL_rtiClearOvfInt0 (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
void CSL_rtiClearOvfInt1 (
	CSL_RtiHandle   hRti
)
{
    CSL_FINST (hRti->regs->RTIINTFLAG, RTI_RTIINTFLAG_OVL1INT, CLEAROVFINT1);
}

/** ============================================================================
 *   @n@b CSL_rtiDwdEnable
 *
 *   @b Description
 *      Enable the Digital Watchdog
 *
 *   @b Arguments
 *   @verbatim
        hRti     	    Handle to the real time interrupt instance

     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  RTI Digital Watchdog Control register is loaded with 
 		 the  0xACED5312 value and enable the digital watchdog
 *
 *   @b Modifies
 *   @n RTI Digital Watchdog Control register
 *
 *   @b Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
      	CSL_rtiDwdEnable (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_rtiDwdEnable (
	CSL_RtiHandle   hRti
)
{
	hRti->regs->RTIDWDCTRL = CSL_RTI_DWD_ENABLE;
}

/** ============================================================================
 *   @n@b CSL_rtiDwdDisable
 *
 *   @b Description
 *      Disable the Digital Watchdog
 *
 *   @b Arguments
 *   @verbatim
        hRti     	    Handle to the real time interrupt instance

     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  RTI Digital Watchdog Control register is loaded with 
 		 the 0x5312ACED  value and disable the digital watchdog
 *
 *   @b Modifies
 *   @n RTI Digital Watchdog Control register
 *
 *   @b Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
      	CSL_rtiDwdDisable (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_rtiDwdDisable (
	CSL_RtiHandle   hRti
)
{
	hRti->regs->RTIDWDCTRL = CSL_RTI_DWD_DISABLE;
}

/** ============================================================================
 *   @n@b CSL_rtiClearDwd
 *
 *   @b Description
 *      Clear the Digital Watchdog
 *
 *   @b Arguments
 *   @verbatim
        hRti     	    Handle to the real time interrupt instance

     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  None
 *   @b Modifies
 *   @n RTI Watchdog Status Register
 *
 *   @b Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
      	CSL_rtiClearDwd (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_rtiClearDwd (
	CSL_RtiHandle hRti
)
{
	CSL_FINST (hRti->regs->RTIWDSTATUS, RTI_RTIWDSTATUS_DWDST, CLEARDWD);
}
	
/** ============================================================================
 *   @n@b CSL_rtiWdKey
 *
 *   @b Description
 *      Set the Digital Watchdog key
 *
 *   @b Arguments
 *   @verbatim
        hRti     	    Handle to the real time interrupt instance

     @endverbatim
 *
 *   <b> Return Value </b>
 *       None
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  RTI Watchdog Key Register  is loaded with 
 		 0xE51A followed by 0xA35C, the 25-bit DWD Down Counter is reloaded with 
 		 the 13- bit preload value stored in RTIDWDPRLD. 
 *   @b Modifies
 *   @n RTI Watchdog Key Register
 *
 *   @b Example
 *   @verbatim
        CSL_RtiHandle     hRti;
        ...
      	CSL_rtiWdKey (hRti);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_rtiWdKey (
	CSL_RtiHandle   hRti
)
{
	CSL_FINS (hRti->regs->RTIWDKEY, RTI_RTIWDKEY_WDKEY, CSL_RTI_WDKEY1);
	CSL_FINS (hRti->regs->RTIWDKEY, RTI_RTIWDKEY_WDKEY, CSL_RTI_WDKEY2);
}

#ifdef __cplusplus
}
#endif

#endif /* _CSL_RTIAUX_H_ */







⌨️ 快捷键说明

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