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

📄 conexant.h

📁 应用较为广泛的 杉德 刷卡 POS机 的调用示例。
💻 H
字号:
/*
	Operating System
--------------------------------------------------------------------------
	FILE  conexant.c
--------------------------------------------------------------------------
    INTRODUCTION
    ============
    Created :		2005-06-08		Xiaoxi Jiang
    Last modified :	2005-06-08		Xiaoxi Jiang
    Module :
    Purpose :
        Source file.

    List of routines in file :

    File history :
*/

#ifndef __CONEXANT_H__
#define __CONEXANT_H__

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __CONEXANTDATA
#define __CONEXANTDATA extern
#endif

#define CONEXANT_DEBUG

#define CONEXANTERR_SUCCESS         0x00
#define CONEXANTERR_BADDRV          0x01
#define CONEXANTERR_UNKNOWNMODEL    0x02
#define CONEXANTERR_ATCMD           0x03
#define CONEXANTERR_DIALABORT       0x04
#define CONEXANTERR_UNSUPPORTSPEED  0x05
#define CONEXANTERR_RECVTIMEOUT     0x0A
#define CONEXANTERR_HDLCBADADDR     0x10
#define CONEXANTERR_HDLCBADCRC      0x11
#define CONEXANTERR_HDLCBADFRAME    0x12
#define CONEXANTERR_CONTINUELOOP    0xFF

#define CONEXANTREVISION_CX86501    0x01

#define CONEXANTMODEL_V34           0x00
#define CONEXANTMODEL_V90           0x01

#define CONEXANT_DIALNUMLEN         50
#define CONEXANT_CMDRECVBUFLEN      100
#define CONEXANT_HDLCBUFLEN         1600

#define CONEXANTTIMEOUT_VALUE           10
#define CONEXANTTIMEOUT_CHECKSEQVALUE   100
#define CONEXANTTIMEOUT_SENDRRVALUE     500

#define CONEXANTTIMEOUT_DIAL            0x01
#define CONEXANTTIMEOUT_SYNCRECVREADY   0x02
#define CONEXANTTIMEOUT_SYNCSEND        0x03
#define CONEXANTTIMEOUT_SYNCCHECKSEND   0x04
#define CONEXANTTIMEOUT_SYNCCHECKSEQ    0x05
#define CONEXANTTIMEOUT_SYNCSENDRR      0x06
#define CONEXANTTIMEOUT_SYNCDISCONNECT  0x10

#define CONEXANTCONNECT_NONE        0x00
#define CONEXANTCONNECT_ASYNC       0x01
#define CONEXANTCONNECT_SYNC        0x02

#define CONEXANTDATATYPE_ASCII      0x01
#define CONEXANTDATATYPE_BINARY     0x02


typedef struct
{
    unsigned int uiTimeout;
    char *pcAT;
    unsigned char (*pfnAction)(void);
    unsigned char (*pfnRecvCharProc)(void);
    unsigned char (*pfnTimeoutProc)(void);
}CONEXANTFUNC;

typedef struct
{
    unsigned char ucDebug;
    unsigned int uiModel;
    unsigned char ucRevision;
    unsigned int uiFirmwareRevision;
    volatile unsigned char ucTimeoutType;
    volatile unsigned int uiTimeout;
    volatile unsigned int uiCurrTimeout;
    volatile unsigned int uiHDLCRRSendTimeout;
    volatile unsigned char ucDialAbort;
    unsigned char ucDialType;
    unsigned char aucDialNumber[CONEXANT_DIALNUMLEN];
    volatile unsigned char ucDialStep;
    volatile unsigned char ucDialLastError;
    volatile unsigned char ucDialStatus;
    volatile unsigned char ucDialCheckBack;
    volatile unsigned char ucDialCheckPSTNTimes;
    volatile unsigned char ucDialConnectType;
    volatile unsigned long ulDialConnectSpeed;
    volatile unsigned char ucDialConnected;
    unsigned short uiCMDRecvLen;
    unsigned char aucCMDRecvData[CONEXANT_CMDRECVBUFLEN];
    volatile unsigned char ucEMFlag;
    unsigned char ucHDLCAddr;
    volatile unsigned char ucHDLCRecvReady;
    volatile unsigned char ucHDLCSendSeq;
    volatile unsigned char ucHDLCRecvSeq;
    volatile unsigned char ucHDLCPrimaryRecvSeq;
    volatile unsigned short uiHDLCSeqChecked;
    unsigned char ucHDLCRRFrameRecvNB;
    unsigned char ucHDLCSendFrameType;
    volatile unsigned short uiHDLCSendLen;
    unsigned char aucHDLCSendBuf[CONEXANT_HDLCBUFLEN];
    volatile unsigned short uiHDLCRecvLen;
    unsigned char aucHDLCRecvBuf[CONEXANT_HDLCBUFLEN];
    volatile unsigned char ucSending;
    volatile unsigned char ucRecving;
    volatile unsigned short uiSendBufLen;
    unsigned char aucSendBuf[CONEXANT_HDLCBUFLEN];
    volatile unsigned short uiRecvedLen;
    volatile unsigned short uiRecvLen;
    unsigned char aucRecvBuf[CONEXANT_HDLCBUFLEN];

}CONEXANTDATA;


__CONEXANTDATA	MODEM_PARAM	 cModemParam;

unsigned char CONEXANT_Init(void);
unsigned char CONEXANT_Test(void);
unsigned char CONEXANT_DialInit(COM_PARAM *pComParam);
unsigned char CONEXANT_Dial(DIAL_PARAM *pDialParam);
unsigned char CONEXANT_BackDial(DIAL_PARAM * pDialParam);
unsigned char CONEXANT_BackDialCheck(unsigned short uiTimeout);
void CONEXANT_ReadDialParam(DIAL_PARAM *pDialParam);
unsigned char CONEXANT_SetParam(unsigned char ucParamNb, unsigned char ucValue);
unsigned char CONEXANT_GetRegister(unsigned short uiParamNb, unsigned char *pucValue);
unsigned char CONEXANT_SetRegister(unsigned short uiParamNb, unsigned char ucValue);
unsigned char CONEXANT_TxChar(unsigned char ucCh);
unsigned short CONEXANT_RxChar(unsigned short uiTimeout);
unsigned char CONEXANT_Hangup(void);

unsigned char CONEXANT_Enable(void);
unsigned char CONEXANT_Config(unsigned char *pucConfigData,unsigned int uiConfigLen);
unsigned char CONEXANT_FuncProc(CONEXANTFUNC *pFunc);
unsigned char CONEXANT_BackDialStart(CONEXANTDATA *pData);
unsigned char CONEXANT_InitCountry(void);
unsigned char CONEXANT_Protocol(void);
unsigned char CONEXANT_PSTNLine(void);
unsigned char CONEXANT_PSTNDial(void);
unsigned char CONEXANT_HDLCSpeed(void);
unsigned char CONEXANT_HDLCNRM(void);
unsigned char CONEXANT_HDLCRR(void);
unsigned char CONEXANT_CheckOK(void);
unsigned char CONEXANT_CheckModel(void);
unsigned char CONEXANT_CheckOK2(void);
unsigned char CONEXANT_CheckPSTNLineOK(void);
unsigned char CONEXANT_CheckPSTNDialOK(void);
unsigned char CONEXANT_CheckHDLCSpeed(void);
unsigned char CONEXANT_CheckHDLCNRM(void);
unsigned char CONEXANT_CheckHDLCRR(void);
unsigned char CONEXANT_SendData(unsigned char ucDataType,unsigned char *pucSendData,unsigned short uiSendLen);
unsigned char CONEXANT_Recv(unsigned char *pucOutData,unsigned short *puiOutLen,unsigned int uiTimeout);
unsigned char CONEXANT_RecvOK(unsigned char *pucOutData,unsigned short *puiOutLen,unsigned int uiTimeout);
unsigned char CONEXANT_RecvByte(unsigned char ucDataType,unsigned char *pucCh,unsigned int uiTimeout);
unsigned char CONEXANT_HDLCSendIFrame(CONEXANTDATA *pData,unsigned char ucFinishFlag);
unsigned char CONEXANT_HDLCSendRRFrame(CONEXANTDATA *pData);
unsigned char CONEXANT_HDLCSendUAFrame(CONEXANTDATA *pData);
unsigned char CONEXANT_HDLCPackFrame(CONEXANTDATA *pData,
                    unsigned char ucFrameType,
                    unsigned char *pucSendData,
                    unsigned short uiSendLen);
unsigned char CONEXANT_HDLCPackByte(unsigned char ucCh,unsigned char *pucPtr);
unsigned char CONEXANT_HDLCSendFrame(unsigned char *pucSendData,unsigned short uiSendLen);
unsigned char CONEXANT_HDLCRecvFrame(CONEXANTDATA *pData);
void CONEXANT_CallbackHDLCRRSendTimeout(void);
void CONEXANT_CallbackTimeout(void);
void CONEXANT_DialTimeout(void);
void CONEXANT_SyncRecvReadyTimeout(void);
void CONEXANT_SyncSendTimeout(void);
void CONEXANT_SyncCheckSendTimeout(void);
void CONEXANT_SyncCheckSeqTimeout(void);
void CONEXANT_SyncSendRRTimeout(void);
void CONEXANT_SyncDisconnectTimeout(void);
unsigned char CONEXANT_CallbackRecvData(void);
unsigned char CONEXANT_CheckStr(unsigned char *pucStr);
unsigned char CONEXANT_CheckDialTone(void);
unsigned char CONEXANT_SelfReDail(void);
unsigned char CONEXANT_KeepTimes(void);

extern unsigned char HALLCD_Lock(unsigned char ucWaitFlag);
extern unsigned char HALLCD_Unlock(void);
extern unsigned char HALMMI_DisplayStrASCII57(unsigned char ucFlag,unsigned char ucRow,unsigned char ucCol,char *pcStr);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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