armcsl_bitman_270.h

来自「dm270 source code」· C头文件 代码 · 共 77 行

H
77
字号
/******************************************************************************\
*           Copyright (C) 1999 Texas Instruments Incorporated.
*                           All Rights Reserved
*------------------------------------------------------------------------------
* MODULE.NAME... HCFG - HAL configuration module
* FILENAME...... armcsl.h
* DATE CREATED.. 11/21/2001 
* PROJECT....... DM270 ARM Chip Support Library
* COMPONENT..... HAL
* IMPORTS....... 
*------------------------------------------------------------------------------
* HISTORY:
*   CREATED:       11/21/2001
*   MODIFIED:      
*   MODIFIED:      
*   LAST MODIFIED: 
*------------------------------------------------------------------------------
* DESCRIPTION:  (DM270 ARM register definitions and macros)
*
*
*
\******************************************************************************/


  /* memory mapped register macros */
  #define _FIELD_GET(RegAddr,FIELD) (Uint16)( \
  (REG16(RegAddr)&##FIELD##_MASK)>>##FIELD##_SHIFT \
  ) 

  #define _FIELD_SET(RegAddr,FIELD,Val) REG16(RegAddr)=(Uint16)( \
  (REG16(RegAddr)&##FIELD##_CLR)|((Uint16)##FIELD##_MK(Val)) \
  )

  #define _FIELD_AOI(RegAddr,FIELD,AND,OR,INV) REG16(RegAddr)=(Uint16)( \
  ((((REG16(RegAddr)&##FIELD##_MASK) & AND) | OR) ^ INV)\
  )

  #define _FIELD_AND(RegAddr,FIELD,Val) REG16(RegAddr)=(Uint16)( \
  (REG16(RegAddr)&##FIELD##_CLR) | ((REG16(RegAddr)) & \
  ((Uint16)##FIELD##_MK(Val))) \
  )

  #define _FIELD_OR(RegAddr,FIELD,Val) REG16(RegAddr)=(Uint16)( \
  (REG16(RegAddr)) | ((Uint16)##FIELD##_MK(Val)) \
  )

  #define _FIELD_XOR(RegAddr,FIELD,Val) REG16(RegAddr)=(Uint16)( \
  (REG16(RegAddr)&##FIELD##_CLR) | ((REG16(RegAddr)) ^ \
  ((Uint16)##FIELD##_MK(Val))) \
  )

  #define _FIELD_SHIFT(FIELD,Val)   ((Uint16)##FIELD##_MK(Val))

  #define _REG_GET(RegAddr)         (Uint16)REG16(RegAddr)  
  #define _REG_SET(RegAddr,Val)      REG16(RegAddr)=(Uint16)(Val)
  #define _REG_AOI(RegAddr,AND,OR,INV)\
     REG16(RegAddr) = (Uint16)(((REG16(RegAddr) & AND) | OR ) ^ INV)
  #define _REG_AND(RegAddr,Val)      REG16(RegAddr) &= (Uint16)(Val)
  #define _REG_OR(RegAddr,Val)       REG16(RegAddr) |= (Uint16)(Val)
  #define _REG_XOR(RegAddr,Val)      REG16(RegAddr) ^= (Uint16)(Val)
















⌨️ 快捷键说明

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