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

📄 phonedrv.h

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 H
字号:
/****************************************************************
**                                                              *
**  FILE         :  PhoneDrv.H                                  *
**  COPYRIGHT    :  (c) 2001 .Xiamen Yaxon NetWork CO.LTD       *
**                                                              *
**                                                              *
**  By : CCH 2002.1.15                                          *
****************************************************************/
#ifndef DEF_PHONEDRV
#define DEF_PHONEDRV

#ifndef PHONEDRV_GLOBALS
#define PHONEDRV_EXT						    extern
#else
#define PHONEDRV_EXT
#endif

#include "at_voice.h"

/*
********************************************************************************
*                  DEFINE CONFIG PARAMETERS
********************************************************************************
*/
#define NUM_PHONE                               2
#define SYS_RINGTELLEN                          30

#define PHONE_COM                               VOICE_COM
#define PHONE_GPRS                              VOICE_GPRS



/*
********************************************************************************
*                  DEFINE STATUS
********************************************************************************
*/
#define PHONE_FREE                              0
#define PHONE_CONNECTING                        1
#define PHONE_TALKING                           2
#define PHONE_DISCONNECTING                     3
#define PHONE_RINGING                           4
#define PHONE_INITPARA                          5
/*
********************************************************************************
*                  DEFINE VOCICE CHANNEL
********************************************************************************
*/
#define CHA_MODEM                               0
#define CHA_DATA                                1
#define CHA_HANDSET                             2
#define CHA_LCD                                 3
#define CHA_HANDSFREE                           4
#define CHA_DTMF                                5
#define CHA_VOICECHIP                           6
#define CHA_LISTEN                              7

/*
********************************************************************************
*                  DEFINE RingupPhone Result
********************************************************************************
*/
#define PHONE_ACCEPT                            0
#define PHONE_BUSY                              1
#define PHONE_ERROR                             2
#define PHONE_NOSIM                             3
#define PHONE_NONETWORK                         4
#define PHONE_SEARCHINGNETWORK                  5

#define PRI_REJECT                              1
#define PRI_CHUP                                2

/*
********************************************************************************
*                  DEFINE RING PARAMETERS STUCTURE
********************************************************************************
*/
typedef struct {
    INT8U   len;
    INT8U   tel[SYS_RINGTELLEN];
} RINGPARA_STRUCT;

/*
********************************************************************************
*                  DEFINE CLOCKTIME STRUCTURE
********************************************************************************
*/
typedef struct {
    INT16U  second;
    INT16U  minute;
} CLOCKTIME_STRUCT;

PHONEDRV_EXT RINGPARA_STRUCT RingPara[NUM_PHONE];


void    InitPhoneDrv(void);
void    ResetPhoneDrv(void);
INT8U   GetPhoneStatus(INT8U ch);
BOOLEAN HangupPhone(INT8U ch,INT8U Privil);
BOOLEAN PickupPhone(INT8U ch, INT8U channel, void (*hooker)(INT8U));
INT8U   RingupPhone(INT8U ch, INT8U channel, INT8U *telptr, INT8U tellen, void (*hooker)(INT8U));
BOOLEAN DialDTMF(INT8U ch, char dtmfchar);
INT8U   GetVoiceChannel(INT8U ch);
void    ChangeVoiceChannel(INT8U ch, INT8U channel);
void    GetClockTime(INT8U ch, CLOCKTIME_STRUCT *curclocktime);
BOOLEAN SetTalkTime(INT8U ch, INT16U time);
BOOLEAN TurnupVoiceVolume(INT8U ch);
BOOLEAN TurndownVoiceVolume(INT8U ch);
INT8U   GetVoiceVolume(INT8U ch);
void    SetGprsAPN(char *APN);


void    DetectNoCarrier(INT8U ch);
void    DetectRing(INT8U ch);
void    DetectCLIP(INT8U ch, INT8U *telptr, INT8U tellen);

BOOLEAN modem_RingupPhone(INT8U ch, INT8U *telptr, INT8U tellen);
void    modem_HangupPhone(INT8U ch);
INT8U   modem_GetPhoneStatus(INT8U ch);
BOOLEAN modem_CanRingupPhone(INT8U ch);
void    HdlMsg_modem_req(void);
void InitPhoneCOMPara(void);

#endif

⌨️ 快捷键说明

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