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

📄 common.h

📁 本程序完成在dsp 的平台下
💻 H
字号:
/******************************************************************************/
/*  DNA PROPRIETARY INFORMATION                                               */
/*  (C) Copyright 1997,1998 by DNA Enterprises, Inc.                          */
/*  All rights reserved                                                       */
/******************************************************************************/
/*  COMMON.H - Common Utilities                                               */
/*                                                                            */
/*     This module provides common macro definitions and functions.           */
/*                                                                            */
/*  MACRO FUNCTIONS:                                                          */
/*     CSET_BIT()         - Set bit in memory-mapped, byte-wide register      */
/*     CGET_BIT()         - Get bit in memory-mapped, byte-wide register      */
/*     CCLR_BIT()         - Clear bit in memory-mapped, byte-wide register    */
/*     CGET_FIELD()       - Get field in memory-mapped, byte-wide register    */
/*     CLOAD_FIELD()      - Load field in memory-mapped, byte-wide register   */
/*     CREG_READ()        - Read memory-mapped, byte-wide register            */
/*     CREG_WRITE()       - Write memory-mapped, byte-wide register           */
/*                                                                            */
/******************************************************************************/
#ifndef _COMMON_H_
#define _COMMON_H_

/*----------------------------------------------------------------------------*/
/* INCLUDES                                                                   */
/*----------------------------------------------------------------------------*/
#include "regs.h"     /* Peripheral Support Library register access macros    */

/*----------------------------------------------------------------------------*/
/* MACRO DEFINITIONS                                                          */
/*----------------------------------------------------------------------------*/
#define OK       0
#define ERROR   -1

#define TRUE     1
#define FALSE    0

#define CLOSED   0
#define OPEN     1
#define BUSY     2

#define PI       3.14159

#define EXIT_ERROR(y) \
        if (y) goto exit_err


/*----------------------------------------------------------------------------*/
/* MACRO FUNCTIONS                                                            */
/*----------------------------------------------------------------------------*/

/******************************************************************************/
/* Memory-mapped Byte Manipulation Macros                                     */
/******************************************************************************/
#define CSET_BIT(reg,bit) \
        ((*((volatile unsigned char *)(reg))) |= (MASK_BIT(bit)))

#define CGET_BIT(reg,bit) \
        ((*((volatile unsigned char *)(reg))) & (MASK_BIT(bit)) ? 1 : 0)

#define CCLR_BIT(reg,bit) \
        ((*((volatile unsigned char *)(reg))) &= (~MASK_BIT(bit)))

#define CGET_FIELD(reg,bit,length) \
        ((*((volatile unsigned char *)(reg)) & (MASK_FIELD(bit,length))) >> bit)

#define CLOAD_FIELD(reg,bit,length,val) \
        ((*((volatile unsigned char *)(reg))) = \
        ((*((volatile unsigned char *)(reg)) & (~MASK_FIELD(bit,length)))) | (val<<bit))

#define CREG_READ(addr) \
        (*((unsigned char *)(addr)))

#define CREG_WRITE(addr,val) \
        (*((unsigned char *)(addr)) = (val))

/******************************************************************************/
/* DEBUG - prints message to debugger window if PRINT_DBG = 1                 */
/******************************************************************************/

#if PRINT_DBG

#define DEBUG(p_str) \
{ \
  printf("%s\n  ",p_str); \
}
#else
#define DEBUG(p_str) { }

#endif

#endif /*_COMMON_H_ */

⌨️ 快捷键说明

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