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

📄 bport.h

📁 seed的滤波器设计程序
💻 H
字号:
/*********************************************************************/
/* bport.h v0.00                                                     */
/* Copyright (c) 2000 Texas Instruments Incorporated                 */
/*********************************************************************/
/*********************************************************************/
/* MACROS AND DATA STURCTURES FOR BUFFERED SERIAL PORTS              */
/*                                                                   */
/* The MACROS defined here are dependent on the symbol definitions   */
/* contained in mmregs.h.                                            */
/*********************************************************************/

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

/*********************************************************************/
/* BSP_MASK(rrst, xrst, txm, mcm, fsm, fo, dlb) - generates a mask   */
/*  for setting 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)            */
/*********************************************************************/
#define BSP_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_MCM(MCM)) &\
                 (fsm  ? (MASK_BUT(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))) 

/********************************************************************/
/* BSP_RESET(port) - RESETS SERIAL PORT                             */
/********************************************************************/
#define BSP_RESET(port)\
    *(unsigned int *)BSP_ADDR(port) &= ~(MASK_BIT(XRST) | MASK_BIT(RRST))

/********************************************************************/
/* BSP_TX_RESET(port) - RESETS SERIAL PORT TRANSMIT                 */
/********************************************************************/
#define BSP_TX_RESET(port)\
    *(unsigned int *)BSP_ADDR(port)  &= ~MASK_BIT(XRST)

/********************************************************************/
/* BSP_RX_RESET(port) - RESETS SERIAL PORT RECEIVE                  */
/********************************************************************/
#define BSP_RX_RESET(port)\
    *(unsigned int *)BSP_ADDR(port) &= ~MASK_BIT(RRST)

/********************************************************************/
/* BSP_START(port, start) - starts buffered serial port receive/    */
/*  transmit                                                        */
/* port - buffered serial port number (selects which port, 0,1)     */
/* start - 1/2/3: starts rx/tx/both                                 */
/********************************************************************/
#define BSP_START(port,start)\
    *(unsigned int *)BSP_ADDR(port) |= ((unsigned int)start << RRST)


/********************************************************************/
/* BSPE_MASK(haltr,bre,haltx,bxe,pcm,fig,fe,clkp,fsp,clkdv)         */
/*                                                                  */
/*   - set mask for buffered serial port extension register         */
/*                                                                  */
/* AUTOBUFFERING UNIT CONTROL BITS                                  */
/* haltr  - value to set autobuffering receive halt                 */
/* bre    - value to set autobuffering receive enable               */
/* haltx  - value to set autobuffering transmit halt                */
/* bxe    - value to set autobuffering transmit enable              */
/*                                                                  */
/* EXTENDED SERIAL PORT CONTROL BITS                                */
/* pcm    - value to set pulse code modulation bit                  */
/* fig    - value to set frame sync ignore bit                      */
/* fe     - value to set extended format bit (determines datawidth) */
/* clkp   - value to set clock polarity control bit                 */
/* fsp    - value to set frame sync polarity control bit            */
/* clkdv  - value to set internal clock division factor             */
/********************************************************************/    
#define BSPE_MASK(haltr,bre,haltx,bxe,pcm,fig,fe,clkp,fsp,clkdv)\
    ((haltr ? (MASK_BIT(HALTR) | MASK_TARGET_WORD):                 \
               ~MASK_BIT(HALTR))                                   &\
     (bre   ? (MASK_BIT(BRE) | MASK_TARGET_WORD): ~MASK_BIT(BRE))  &\
     (haltx ? (MASK_BIT(HALTX) | MASK_TARGET_WORD):                 \
               ~MASK_BIT(HALTX))                                   &\
     (bxe   ? (MASK_BIT(BXE) | MASK_TARGET_WORD): ~MASK_BIT(BXE))  &\
     (pcm   ? (MASK_BIT(PCM) | MASK_TARGET_WORD): ~MASK_BIT(PCM))  &\
     (fig   ? (MASK_BIT(FIG) | MASK_TARGET_WORD): ~MASK_BIT(FIG))  &\
     (fe    ? (MASK_BIT(FE) | MASK_TARGET_WORD): ~MASK_BIT(FE))    &\
     (clkp  ? (MASK_BIT(CLKP) | MASK_TARGET_WORD): ~MASK_BIT(CLKP))&\
     (fsp   ? (MASK_BIT(FSP) | MASK_TARGET_WORD): ~MASK_BIT(FSP))  &\
     (clkdv ? (MASK_BIT(CLKDV) | MASK_TARGET_WORD): ~MASK_BIT(CLKDV)))

/********************************************************************/
/* BSP_INIT(port, ctrl, ectrl, xbuf, xlen, rbuf, rlen, start)       */
/*   - initialize serial port ctrl                                  */
/*   addr - address of buffered serial port contorl register        */
/*   ctrl - mask to set buffered serial port control register       */
/*   ectrl - mask to set buffered serial port extended control reg  */
/*   xbuf - address of transmit buffer                              */
/*   xlen - length of transmit buffer                               */
/*   rbuf - starting address of receive buffer                      */
/*   rlen - length of receive buffer                                */
/*   start - 1/2/3: starts rx/tx/both                               */
/********************************************************************/
#define BSP_INIT(port, ctrl, ectrl, xbuf, xlen, rbuf, rlen, start)\
	{BSP_RESET(port);\
 	 *(unsigned int *)AXR_ADDR(port) = xbuf;\
	 *(unsigned int *)(AXR_ADDR(port) + 1) = xlen;\
	 *(unsigned int *)ARR_ADDR(port) = rbuf;\
	 *(unsigned int *)(ARR_ADDR(port) + 1) = rlen;\
	 *(unsigned int *)BSPCE_ADDR(port)  = ectrl;\
	 *(unsigned int *)BSP_ADDR(port) = ctrl;\
	 BSP_START(port,start);}

/**********************************************************************/
/* BSP_READ(port, size)   - reads data from buffered serial port when */
/*                          port is configured in standard mode       */
/*  port  - serial port number (selects which port)                   */
/*  size  - data size of item to be read in bits                      */
/**********************************************************************/
#define BSP_READ(port, size)\
      ((*(unsigned int *)BDRR_ADDR(port)) & (~(MASK_TARGET_WORD << size))) 

/**********************************************************************/
/* BSP_WRITE(port,value,size)  -  writes data to buffered serial port */
/*                                when port is in standard mode       */
/*  port  - serial port #                                             */
/*  value - data to be written out to serial port                     */
/*  size  - data size in bits                                         */
/**********************************************************************/
#define BSP_WRITE(port, value, size)\
        *(unsigned int *)BDXR_ADDR(port) = value & (~(MASK_TARGET_WORD << size))

⌨️ 快捷键说明

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