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

📄 tdmport.h

📁 IIR数字滤波器设计。其中涉及到Matlab软件中IIR的参数设计及CCS中的软件仿真及硬件仿真程序
💻 H
字号:
/********************************************************************/
/* tdmport.h v0.00                                                   */
/* Copyright (c) 2000 Texas Instruments Incorporated                 */
/*********************************************************************/
/*********************************************************************/
/* STANDARD SERIAL PORT, BUFFERED SERIAL PORT, AND HOST PORT         */
/* INTERFACE FUNCTIONS, MACROS, AND DATA STRUCTURES                  */
/*                                                                   */
/* The MACROS defined here are dependent on the symbol definitions   */
/* contained in regs.h.                                              */
/*********************************************************************/
/*********************************************************************/

/*********************************************************************/
/* INCLUDE MEMORY-MAPPED REGISTER DEFINITIONS                        */
/*********************************************************************/
#include "regs.h"

/**********************************************************************/
/* TDM_MASK(rrst, xrst, txm, mcm, fsm, fo, dlb, tdm) - creates a mask */
/*             setting tdm serial port control register.              */
/*           rrst      -   receive reset                              */
/*           xrst      -   transmit reset                             */
/*           txm       -   transmit mode (ext or int fram sync)       */
/*           mcm       -   clock mode (ext or int clock source)       */
/*           fsm       -   frame sync mode (continuous or burst)      */
/*           fo        -   format (data size 16 or 8)                 */
/*           dlb       -   digital loop back mode (disable/enable)    */
/*           tdm       -   tdm mode bit                               */
/**********************************************************************/
#define TDM_SP_MASK( rrst, xrst, txm, mcm, fsm, fo, dlb)\
	((rrst ? (MASK_BIT(RRST) | MASK_TARGET_WORD):~MASK_BIT(RRST)&\
	 (xrst ? (MASK_BIT(XRST) | MASK_TARGET_WORD):~MASK_BIT(XRST)&\
 	 (txm  ? (MASK_BIT(TXM)  | MASK_TARGET_WORD):~MASK_BIT(TXM) &\
 	 (mcm  ? (MASK_BIT(MCM)  | MASK_TARGET_WORD):~MASK_BIT(MCM) &\
         (fsm  ? (MASK_BIT(FSM)  | MASK_TARGET_WORD):~MASK_BIT(FSM) &\
         (fo   ? (MASK_BIT(FO)   | MASK_TARGET_WORD):~MASK_BIT(FO) &\
         (dlb  ? (MASK_BIT(DLB)  | MASK_TARGET_WORD):~MASK_BIT(DLB) &\
         (tdm  ? (MASK_BIT(TDM)  | MASK_TARGET_WORD):~MASK_BIT(TDM))

/**********************************************************************/
/* TDM_RESET - RESETS TDM SERIAL PORT                                 */
/**********************************************************************/
#define TDM_RESET\
      TSPC &= (MASK_BIT(XRST) | MASK_BIT(RRST))

/**********************************************************************/
/* TDM_TX_RESET - RESETS SERIAL PORT TRANSMIT                         */
/**********************************************************************/
#define TDM_TX_RESET\
	TSPC &= MASK_BIT(XRST)

/**********************************************************************/
/* TDM_RX_RESET() - RESETS SERIAL PORT RECEIVE                        */
/**********************************************************************/
#define TDM_RX_RESET\
	TSPC &= MASK_BIT(RRST)

/**********************************************************************/
/* TDM_START(start) - starts rx/tx/both depending on start type       */
/*   start - 1/2/3: starts rx/tx/both                                 */
/**********************************************************************/
#define TDM_START(start)\
	TSPC |=  ((unsigned int)start << RRST)

/**********************************************************************/
/* TDM_INIT(ctrl, chan, raddr, xaddr, start) - initialize tdm port    */
/*         ctrl - mask to set serial port control register            */
/*         chan - channel number on which tdm port will transmit      */
/*         raddr - tdm receive address                                */
/*         xaddr - tdm transmit address                               */
/**********************************************************************/
#define TDM_INIT(ctrl, chan, raddr, xaddr)\
   { TSPC &= ~(MASK_BIT(XRST) | MASK_BIT(RRST);\
     TCSR = chan;     /* initialize channel select register */\
     TRTA = ((xaddr & 0xffu) << 8) | (raddr & 0xffu);\
     TSPC |= (~(MASK_BIT(XXRST) | MASK_BIT(RRST)) & ctrl;\
     TSPC |= ctrl;\
   }

/**********************************************************************/
/* TDM_READ(port, size)   - reads data from tdm serial port           */
/*          port- address of serial port receive register             */
/*          size  - data size of item to be read in bits              */
/**********************************************************************/
#define TDM_READ(size)\
      ( TRCV & (~(MASK_TARGET_WORD << size))) 

/**********************************************************************/
/* TDM_WRITE(value, size)                                             */
/*  value - data to be written out to serial port                     */
/*  size  - data size in bits                                         */
/**********************************************************************/
#define TDM_WRITE(value, size)\
        TDXR = value & (~(MASK_TARGET_WORD << size))

⌨️ 快捷键说明

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