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

📄 bport.h

📁 信号fm调制与解调的dsp实现
💻 H
字号:
/*********************************************************************//* bport.h v0.00                                                     *//* Copyright (c) 1997 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 + -