📄 tdmport.h
字号:
/********************************************************************//* tdmport.h v0.00 *//* Copyright (c) 1997 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 + -