?? e1.h
字號:
#define E1_VERSION "1.0E"//modified from "1.0D-ADT0" ,this code is Xavi standard! 12/30/2002
#ifndef TURE
#define TURE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#define PASS 0x00
#define FAIL 0x01
#define ENABLE TURE
#define DISABLE FALSE
#define NORMAL FALSE
#define REVERSE TURE
typedef unsigned int UINT;
typedef unsigned char UCHAR;
// define access LONG & INT type value macro
#define ADDR_LONG(a) (*(volatile unsigned long *)a) /*把地址a里的數(shù)據(jù)賦給addr_long* unsigned long 32/
#define ADDR_INT(a) (*(volatile UINT *)a)
#define ADDR_BYTE(a) (*(volatile UCHAR *)a)
#define ADDR_ABYTE(a) ((volatile UCHAR *)a)
// define CPLD data & status registers
#define V35_SR ADDR_BYTE(0xC0FFF800)
#define V35_C0R ADDR_BYTE(0xC0FFF900)
#define V35_C1R ADDR_BYTE(0xC0FFFA00)
#define V35_MR ADDR_BYTE(0xC0FFFB00)
#define CPLD_GET(x) cpld.byte = x /*CPLD_GET(x)里的參數(shù)為V35_SR,COR,C1R,MR*/
#define CPLD_SET(x) x = cpld.byte
typedef struct /*16位中使用到了8位*/
{
unsigned char ver:4;
unsigned char reserved:1;
unsigned char ll:1;
unsigned char rts:1;
unsigned char dtr:1;
}st_cpld_sr;
#define CPLD_LL_DISABLE 0
#define CPLD_LL_ENABLE 1
#define CPLD_RTS_DISABLE 0
#define CPLD_RTS_ENABLE 1
#define CPLD_DTR_DISABLE 0
#define CPLD_DTR_ENABLE 1
typedef struct
{
unsigned char cts:1;
unsigned char dsr:1;
unsigned char dcd:1;
unsigned char lp:1;
unsigned char dce:1;
unsigned char tclk:1;
unsigned char dtinv:1;
unsigned char ckinv:1;
}st_cpld_c0r;
#define CPLD_CTS_DISABLE 0
#define CPLD_CTS_ENABLE 1
#define CPLD_DSR_DISABLE 0
#define CPLD_DSR_ENABLE 1
#define CPLD_DCD_DISABLE 0
#define CPLD_DCD_ENABLE 1
#define CPLD_LOOPBACK_ENABLE 0
#define CPLD_LOOPBACK_DISABLE 1
#define CPLD_DTE_MODE 0
#define CPLD_DCE_MODE 1
#define CPLD_INVTER_CLOCK 0
#define CPLD_NORMAL_CLOCK 1
#define CPLD_INVTER_DATA 0
#define CPLD_NORMAL_DATA 1
typedef struct
{
unsigned char mode:3;
unsigned char clock:1;
unsigned char tx_gled:1;
unsigned char tx_rled:1;
unsigned char rx_gled:1;
unsigned char rx_rled:1;
}st_cpld_c1r;
#define WAN_V10_MODE 0x07
#define WAN_V11_MODE 0x06
#define WAN_EIA530_MODE 0x05
#define WAN_X21_MODE 0x04
#define WAN_V35_MODE 0x03
#define WAN_V28_MODE 0x01
#define WAN_UNUSED 0x00
#define CPLD_EXTERNAL_CLOCK 0
#define CPLD_INTERNAL_CLOCK 1
//#define CPLD_DTE_MODE 0
//#define CPLD_DCE_MODE 1
#define CPLD_3_CLOCK 0
#define CPLD_2_CLOCK 1
//#define CPLD_INVTER_DATA 0
//#define CPLD_NORMAL_DATA 1
#define CPLD_LED_ON 0
#define CPLD_LED_OFF 1
typedef struct
{
unsigned char mode:4;
unsigned char reserved:2;
unsigned char wan_txd:1;
unsigned char wan_rxd:1;
}st_cpld_mr;
#define REG_V35_MODE 0x01
#define REG_E1_MODE 0x02
#define SELECT_E1 0
#define SELECT_T1 1
/* CLAD Frequency Select */
#define CSEL_OSEL_MASK 0x07
#define CSEL_OSEL_1024 0x00
#define CSEL_OSEL_2048 0x01
#define CSEL_OSEL_4096 0x02
#define CSEL_OSEL_8192 0x03
#define CSEL_OSEL_2560 0x04
#define CSEL_OSEL_1544 0x05
#define CSEL_OSEL_1536 0x06
#define CSEL_OSEL_MULT 0x07
#define CSEL_VSEL_MASK 0x70
#define CSEL_VSEL_1024 0x00
#define CSEL_VSEL_2048 0x10
#define CSEL_VSEL_4096 0x20
#define CSEL_VSEL_8192 0x30
#define CSEL_VSEL_2560 0x40
#define CSEL_VSEL_1544 0x50
#define CSEL_VSEL_1536 0x60
#define CSEL_VSEL_MULT 0x70
/* Transmit Framer Configuration */
#define TCR0_TFRAME_MASK 0x0F
#define TCR0_FAS 0x00
#define TCR0_FAS_CRC 0x04
#define TCR0_FAS_CAS 0x08
#define TCR0_FAS_CRC_CAS 0x0F
#define TCR0_FT 0x00
#define TCR0_SF 0x04
#define TCR0_SF_JYEL 0x05
#define TCR0_SLC 0x08
#define TCR0_ESF_FPS 0x01
#define TCR0_ESF_MIMIC_CRC 0x0C
#define TCR0_ESF_FORCE_CRC 0x0D
typedef union
{
unsigned char byte;
st_cpld_sr sr_bit;
st_cpld_c0r c0r_bit;
st_cpld_c1r c1r_bit;
st_cpld_mr mr_bit;
}un_cpld_reg;
#define bt8370_reg unsigned char
typedef struct
{
unsigned char ver:4;
unsigned char did:4;
}st_did;
typedef union
{
unsigned char byte;
st_did bit;
}un_did;
typedef struct
{
unsigned char t1e1n:1;
unsigned char rframe:4;
unsigned char reserved:2;
unsigned char reset:1;
}st_cro;
typedef union
{
unsigned char byte;
st_cro bit;
}un_cro;
typedef struct
{
unsigned char jsize:3;
unsigned char jcenter:1;
unsigned char jauto:1;
unsigned char jdir:1;
unsigned char jfree:1;
unsigned char jen:1;
}st_jat_cr;
typedef union
{
unsigned char byte;
st_jat_cr bit;
}un_jat_cr;
typedef struct
{
unsigned char patt:1;
unsigned char dl2:1;
unsigned char dl1:1;
unsigned char timer:1;
unsigned char count:1;
unsigned char error:1;
unsigned char alarm2:1;
unsigned char alarm1:1;
}st_irr;
typedef union
{
unsigned char byte;
st_irr bit;
}un_irr;
typedef struct
{
unsigned char sigfrz:1;
unsigned char rlof:1;
unsigned char rlos:1;
unsigned char ralos:1;
unsigned char rais:1;
unsigned char rpdv:1;
unsigned char ryel:1;
unsigned char rmyel:1;
}st_isr7;
typedef union
{
unsigned char byte;
st_isr7 bit;
}un_isr7;
typedef struct
{
unsigned char onesec:1;
unsigned char tlof:1;
unsigned char reserved:1;
unsigned char tloc:1;
unsigned char tshort:1;
unsigned char tpdv:1;
unsigned char loopup:1;
unsigned char loopdn:1;
}st_isr6;
typedef union
{
unsigned char byte;
st_isr6 bit;
}un_isr6;
typedef struct
{
unsigned char ferr:1;
unsigned char merr:1;
unsigned char serr:1;
unsigned char cerr:1;
unsigned char jerr:1;
unsigned char ckerr:1;
unsigned char rslip:1;
unsigned char tslip:1;
}st_isr5;
typedef union
{
unsigned char byte;
st_isr5 bit;
}un_isr5;
typedef struct
{
unsigned char ferr:1;
unsigned char crc:1;
unsigned char lcv:1;
unsigned char febe:1;
unsigned char berr:1;
unsigned char sef:1;
unsigned char cofa:1;
unsigned char fred:1;
}st_isr4;
typedef union
{
unsigned char byte;
st_isr4 bit;
}un_isr4;
typedef struct
{
unsigned char rframe:1;
unsigned char rmf:1;
unsigned char rmsync:1;
unsigned char rsig:1;
unsigned char tframe:1;
unsigned char tmf:1;
unsigned char tmsync:1;
unsigned char tsig:1;
}st_isr3;
typedef union
{
unsigned char byte;
st_isr3 bit;
}un_isr3;
typedef struct
{
unsigned char tmsg1:1;
unsigned char tnear1:1;
unsigned char tempty1:1;
unsigned char tdlerr1:1;
unsigned char rmsg1:1;
unsigned char rnear1:1;
unsigned char rffull1:1;
unsigned char tbop:1;
}st_isr2;
typedef union
{
unsigned char byte;
st_isr2 bit;
}un_isr2;
typedef struct
{
unsigned char tmsg2:1;
unsigned char tnear2:1;
unsigned char tempty2:1;
unsigned char tdlerr2:1;
unsigned char rmsg2:1;
unsigned char rnear2:1;
unsigned char rfull2:1;
unsigned char rbop:1;
}st_isr1;
typedef union
{
unsigned char byte;
st_isr1 bit;
}un_isr1;
typedef struct
{
unsigned char tferr:1;
unsigned char tmerr:1;
unsigned char tserr:1;
unsigned char tcerr:1;
unsigned char psync:1;
unsigned char bslip:1;
unsigned char reserved:2;
}st_isr0;
typedef union
{
unsigned char byte;
st_isr0 bit;
}un_isr0;//////////////////////////////////////////////////////////////////////////////
typedef struct
{
unsigned char aloop:1;
unsigned char floop:1;
unsigned char lloop:1;
unsigned char ploop:1;
unsigned char reserved:4;
}st_loop;
typedef union
{
unsigned char byte;
st_isr1 bit;
}un_loop;
typedef struct
{
unsigned char ts:5;
unsigned char fs:2;
unsigned char dl3en:1;
}st_dl3_ts;
typedef union
{
unsigned char byte;
st_dl3_ts bit;
}un_dl3_ts;
typedef struct
{
unsigned char txtxn:1;
unsigned char active:1;
unsigned char timeout:1;
unsigned char found:1;
unsigned char invalid:1;
unsigned char reserved:3;
}st_fstat;
typedef union /*define union is for easier to read the unmber of register*/
{
unsigned char byte;
st_fstat bit;
}un_fstat;
typedef struct
{
unsigned char tmsync_io:1;
unsigned char tfsync_io:1;
unsigned char rmsync_io:1;
unsigned char rfsync_io:1;
unsigned char indy_io:1;
unsigned char tdl_io:1;
unsigned char rdl_io:1;
unsigned char onesec_io:1;
}st_pio;
typedef union
{
unsigned char byte;
st_pio bit;
}un_pio;
typedef struct
{
unsigned char rcko_oe:1;
unsigned char clado_oe:1;
unsigned char tcko_oe:1;
unsigned char indy_oe:1;
unsigned char rdl_oe:1;
unsigned char tdl_oe:1;
unsigned char reserved:2;
}st_poe;
typedef union
{
unsigned char byte;
st_poe bit;
}un_poe;
typedef struct
{
unsigned char tcki:2;
unsigned char cladi:2;
unsigned char tsbcki:2;
unsigned char rsbcki:2;
}st_cmux; /*Clock Input Mux (CMUX)*/
typedef union
{
unsigned char byte;
st_cmux bit;
}un_cmux;
typedef struct
{
unsigned char tmux:6;
unsigned char reserved:2;
}st_tmux;
typedef union
{
unsigned char byte;
st_tmux bit;
}un_tmux;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -