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

📄 ef8681.h

📁 CML CMX868 modem
💻 H
📖 第 1 页 / 共 2 页
字号:

//////////////////////////////////////////
/* 	CMX868 Register Bits		*/
//////////////////////////////////////////

// General Control Register
static volatile bank3 bit IRQNOP_EN	@ BITDEF(CMXGENCTRL,6);
static volatile bank3 bit RESET		@ BITDEF(CMXGENCTRL,7);
static volatile bank3 bit PWRUP		@ BITDEF(CMXGENCTRL,8);
static volatile bank3 bit RLYDRV_ON	@ BITDEF(CMXGENCTRL,9);
static volatile bank3 bit FIX_EQU	@ BITDEF(CMXGENCTRL,10);
static volatile bank3 bit LOOPBACK_EN	@ BITDEF(CMXGENCTRL,11);
static volatile bank3 bit XTAL		@ BITDEF(CMXGENCTRL,12);

// Rx Mode Register
static volatile bank3 bit AUTO_EQU	@ BITDEF(CMXRXMODE,8);
static volatile bank3 bit RXUSART	@ BITDEF(CMXRXMODE,5);

// Status Register
static volatile bank3 bit FSKOUT	@ BITDEF(CMXSTAT,0);
static volatile bank3 bit RXEVENPAR	@ BITDEF(CMXSTAT,3);
static volatile bank3 bit RXFERR	@ BITDEF(CMXSTAT,4);
static volatile bank3 bit RXOF		@ BITDEF(CMXSTAT,5);
static volatile bank3 bit DTMFDET	@ BITDEF(CMXSTAT,5);
static volatile bank3 bit RXRDY		@ BITDEF(CMXSTAT,6);
static volatile bank3 bit ANS2225DET	@ BITDEF(CMXSTAT,6);
static volatile bank3 bit T1DET		@ BITDEF(CMXSTAT,6);
static volatile bank3 bit ANS2100DET	@ BITDEF(CMXSTAT,7);
static volatile bank3 bit T2DET		@ BITDEF(CMXSTAT,7);
static volatile bank3 bit CONTA		@ BITDEF(CMXSTAT,7);
static volatile bank3 bit CONTB		@ BITDEF(CMXSTAT,8);
static volatile bank3 bit FSK0101	@ BITDEF(CMXSTAT,9);
static volatile bank3 bit S1DET		@ BITDEF(CMXSTAT,9);
static volatile bank3 bit RXENERGYDET	@ BITDEF(CMXSTAT,10);
static volatile bank3 bit CPENERGYDET	@ BITDEF(CMXSTAT,10);
static volatile bank3 bit T1T2DET	@ BITDEF(CMXSTAT,10);
static volatile bank3 bit TXUF		@ BITDEF(CMXSTAT,11);
static volatile bank3 bit TXRDY		@ BITDEF(CMXSTAT,12);
static volatile bank3 bit PROGFLAG	@ BITDEF(CMXSTAT,13);
static volatile bank3 bit RDET		@ BITDEF(CMXSTAT,14);
static volatile bank3 bit IRQ		@ BITDEF(CMXSTAT,15);

//////////////////////////////////////////////////////////
/* 	CMX868 Register Address Definitions		*/
//////////////////////////////////////////////////////////

#define		CMXGENRESET		0x01
#define		CMXGENCTRL_ADDR		0xE0
#define		CMXTXMODE_ADDR		0xE1
#define		CMXRXMODE_ADDR		0xE2
#define		CMXTXDATA_ADDR		0xE3
#define		CMXTXDATAV14_ADDR	0xE4
#define		CMXRXDATA_ADDR		0xE5
#define		CMXSTAT_ADDR		0xE6
#define		CMXPROG_ADDR		0xE8
#define		CMXTESTADDR_ADDR	0xE9
#define		CMXTESTWR_ADDR		0xEA
#define		CMXTESTRD_ADDR		0xEB

//////////////////////////////////////////
/* 	CMX868 DTMF Definitions		*/
//////////////////////////////////////////

#define		DTMF_D		0x00
#define		DTMF_1		0x01
#define		DTMF_2		0x02
#define		DTMF_3		0x03
#define		DTMF_4		0x04
#define		DTMF_5		0x05
#define		DTMF_6		0x06
#define		DTMF_7		0x07
#define		DTMF_8		0x08
#define		DTMF_9		0x09
#define		DTMF_0		0x0A
#define		DTMF_star	0x0B
#define		DTMF_hash	0x0C
#define		DTMF_A		0x0D
#define		DTMF_B		0x0E
#define		DTMF_C		0x0F

//////////////////////////////////////////
/*	AT Command S-Registers		*/
//////////////////////////////////////////

#define sregmin		0x110
#define numsregs	30

#define	SREGADDR(reg,offset)		(reg + offset)

static volatile unsigned char bank2	S0	@ SREGADDR(sregmin,0);	// Automatic answer
static volatile unsigned char bank2	S1	@ SREGADDR(sregmin,1);	// Count incoming rings
static volatile unsigned char bank2	S2	@ SREGADDR(sregmin,2);	// Escape Sequence character value
static volatile unsigned char bank2	S3	@ SREGADDR(sregmin,3);	// Carriage return character
static volatile unsigned char bank2	S4	@ SREGADDR(sregmin,4);	// Line feed character
static volatile unsigned char bank2	S5	@ SREGADDR(sregmin,5);	// Backspace character
static volatile unsigned char bank2	S6	@ SREGADDR(sregmin,6);	// Wait time for blind dialling
static volatile unsigned char bank2	S7	@ SREGADDR(sregmin,7);	// Wait for carrier after dial
static volatile unsigned char bank2	S8	@ SREGADDR(sregmin,8);	// Pause Time for Comma Dial Modifier
static volatile unsigned char bank2	S9	@ SREGADDR(sregmin,9);	// Carrier Detect Response Time
static volatile unsigned char bank2	S10	@ SREGADDR(sregmin,10);	// Lost carrier to hang up delay 
static volatile unsigned char bank2	S11	@ SREGADDR(sregmin,11);	// DTMF tone duration
static volatile unsigned char bank2	S12	@ SREGADDR(sregmin,12);	// Escape code guard time
static volatile unsigned char bank2	S13	@ SREGADDR(sregmin,13);	// Reserved
static volatile unsigned char bank2	S14	@ SREGADDR(sregmin,14);	// General bit mapped options
static volatile unsigned char bank2	S15	@ SREGADDR(sregmin,15);	// Reserved
static volatile unsigned char bank2	S16	@ SREGADDR(sregmin,16);	// Reserved
static volatile unsigned char bank2	S17	@ SREGADDR(sregmin,17);	// Reserved
static volatile unsigned char bank2	S18	@ SREGADDR(sregmin,18);	// General Purpose Timer (s)
static volatile unsigned char bank2	S19	@ SREGADDR(sregmin,19);	// General Purpose Timer (10ms)
static volatile unsigned char bank2	S20	@ SREGADDR(sregmin,20);	// Reserved
static volatile unsigned char bank2	S21	@ SREGADDR(sregmin,21);	// BERT Setup Register
static volatile unsigned char bank2	S22	@ SREGADDR(sregmin,22);	// Bit Mapped Register
static volatile unsigned char bank2	S23	@ SREGADDR(sregmin,23);	// Bit Mapped Register
static volatile unsigned char bank2	S24	@ SREGADDR(sregmin,24);	// Bit Mapped Register
static volatile unsigned char bank2	S25	@ SREGADDR(sregmin,25);	// Bit Mapped Register
static volatile unsigned char bank2	S26	@ SREGADDR(sregmin,26);	// Bit Mapped Register
static volatile unsigned char bank2	S27	@ SREGADDR(sregmin,27);	// Bit Mapped Register
static volatile unsigned char bank2	S28	@ SREGADDR(sregmin,28);	// Reserved
static volatile unsigned char bank2	S29	@ SREGADDR(sregmin,29);	// Reserved

//////////////////////////////////////////
/*	DF8681 Telephone Number Buffer	*/
//////////////////////////////////////////

static volatile unsigned char bank2	TELNUM[16]		@ 0x130;

#define	maxteldigits	16

//////////////////////////////////////////
/*	DF8681 Message Buffer		*/
//////////////////////////////////////////

static volatile unsigned char bank2	MSGBUF[32]		@ 0x150;

#define msgbufwrap	31

//////////////////////////////////////////
/*	DF8681 Data Buffer		*/
//////////////////////////////////////////

static volatile unsigned char bank2	DATABUF[16]		@ 0x140;

#define databufwrap	15
#define databufpause	8

//////////////////////////////////////////////////
/* 	AT Command S-Register Bits		*/
//////////////////////////////////////////////////

/*	S14 Register	*/
static volatile bank2 bit ECHO		@ BITDEF(S14,1);	// Echo Command Characters (0=Disabled, 1=Enabled)
static volatile bank2 bit RESOFF	@ BITDEF(S14,2);	// Result Code Display (0=Send, 1=Do Not Send)
static volatile bank2 bit WORDRES	@ BITDEF(S14,3);	// Word or Number Responses (0=Number, 1=Word)
static volatile bank2 bit HEXOP		@ BITDEF(S14,4);	// Decimal or Hex Responses (0=Decimal, 1=Hex)
static volatile bank2 bit ANSORIG	@ BITDEF(S14,7);	// Answer/Originate Operation (0=Answer, 1= Originate)

/*	S21 Register	*/
static volatile bank2 bit BERTEND	@ BITDEF(S21,0);	// BERT End (0=Rx End, 1=Tx End)
static volatile bank2 bit BERTBAND	@ BITDEF(S21,1);	// BERT Operating Band (0=Low Band, 1=High Band)

/*	S24 Register	*/
static volatile bank2 bit USER_XTAL	@ BITDEF(S24,0);	// User Xtal setting (0=12.2880MHz, 1=11.0592MHz)
static volatile bank2 bit USER_FIX_EQU	@ BITDEF(S24,1);	// User Fixed Equaliser setting (0=Enabled, 1=Disabled)
static volatile bank2 bit USER_AUTO_EQU	@ BITDEF(S24,2);	// User Auto Equaliser setting (0=Disabled, 1=Enabled)
								// Required Auto Equaliser setting is ignored during V22bis 
//////////////////////////////////////////////////
/* 	S Register Definitions			*/
//////////////////////////////////////////////////

#define PROTB0		0b00000000	// Bits 4,5,6 and 7 contain info all other bits masked
#define PROTB1		0b00010000
#define PROTB2		0b00100000
#define PROTB3		0b00110000
#define PROTB4		0b01000000
#define PROTB5		0b01010000
#define PROTB6		0b01100000
#define PROTB7		0b01110000
#define PROTB8		0b10000000
#define PROTB9		0b10010000

#define X0CALLING	0b00000000	// Bits 5,6 and 7 contain info all other bits masked
#define	X1CALLING	0b10000000
#define X2CALLING	0b10100000
#define X3CALLING	0b11000000
#define X4CALLING	0b11100000

#define NOGUARD		0b00000000	// Bits 6 and 7 contain info all other bits masked
#define GUARD550	0b11000000
#define GUARD1800	0b10000000

//////////////////////////////////////////////////
/* 	General Definitions			*/
//////////////////////////////////////////////////

#define TRUE		1
#define FALSE		0
#define ON		1
#define OFF		0
#define NUL		0

#define	OK		0
#define	CONNECT		1
#define	RING		2
#define	NOCARRIER	3
#define	ERROR		4
#define	NODIALTONE	5
#define	BUSY		6
#define	CON2400		7
#define	CON1200		8
#define	CON600		9
#define	CON300		10
#define	CON120075	11
#define	CON751200	12
#define CON1200150	13
#define CON1501200	14
#define NYI		15
#define NORESULT	16

#define idmsg		0
#define prodmsg		1
#define cmlukmsg	2
#define cmlsgmsg	3
#define mxcommsg	4
#define cmlukemmsg	5
#define cmlsgemmsg	6
#define mxcomemmsg	7
#define cmluktelmsg	8
#define	cmlukwwwmsg	9
#define dutrevmsg	10	

⌨️ 快捷键说明

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