📄 wavecom.c
字号:
}
//============================================
case cnATcmd_ECHO: // 设置回响参数'OK'应答
{
break;
}
//============================================
case cnATcmd_CMGF: // 选择PDU格式'OK'应答
{
break;
}
//============================================
case cnATcmd_CSMS: // 设置符合Phase II标准'OK'应答
{
break;
}
//============================================
case cnATcmd_CNMI: // 设置短信输出位置信息'OK'应答
{
break;
}
//============================================
case cnATcmd_CREG: // 查询注册信息'OK'应答
{
StationRun(MsgModelOk,TRUE);
break;
}
//============================================
case cnATcmd_CMGR: // 读取短消息'OK'应答
{
//StationRun(MsgReadSMS,true);
break;
}
//============================================
case cnATcmd_CMGD: // 删除短消息'OK'应答
{
StationRun(MsgDelSMS,true);
break;
}
//============================================
case cnATcmd_CMGS: // 发送短消息'OK'应答
{
StationRun(MsgSendSMS,true);
break;
}
//============================================
case cnATcmd_CSCA: // 设置短信中心'OK'应答
{
break;
}
//============================================
case cnATcmd_CMGL: // 罗列所以短消息'OK'应答
{
break;
}
//============================================
case cnATcmd_ATE: // 设置AT命令不回送'OK'应答
{
StationRun(MsgModelOk,true);
break;
}
//============================================
case cnATcmd_NeedPIN: // 查询SIM卡PIN状态'OK'应答
{
break;
}
//============================================
case cnATcmd_PINClck: // 设置SIM卡锁PIN码'OK'应答
{
break;
}
//============================================
case cnATcmd_InputPIN: // 输入PIN码'OK'应答
{
StationRun(MsgInPutPINOK,TRUE);
break;
}
//============================================
case cnATcmd_ChangePIN: // 更改PIN码'OK'应答
{
StationRun(MsgModelOk,TRUE);
break;
}
//============================================
case cnATcmd_PINUnClck: // SIM卡PIN码解锁'OK'应答
{
StationRun(MsgModelOk,TRUE);
break;
}
//============================================
case cnATcmd_CHGBackPIN: // PIN码更改回默认值'OK'应答
{
break;
}
//============================================
case cnATcmd_SaveCfg: // 用户设置参数存储'OK'应答
{
break;
}
//============================================
case cnATcmd_PowerOff: // 用户关机'OK'应答
{
break;
}
//============================================
case cnATcmd_CheckBatt: // 检查电池电压'OK'应答
{
StationRun(MsgModelOk,TRUE);
break;
}
//============================================
case cnATcmd_SetCallWaitting: // 设置呼叫等待'OK'应答
{
StationRun(MsgSetCallWait,true);
break;
}
//============================================
case cnATcmd_CancelCallWaittng: // 取消呼叫等待设置'OK'应答
{
StationRun(MsgCancelCallWait,true);
break;
}
//============================================
case cnATcmd_Answer2ndCall: // 接听呼叫等待的第2个电话'OK'应答
{
StationRun(MsgAnswer2ndCall,true);
break;
}
//============================================
case cnATcmd_Cancel2ndCall: // 挂断呼叫等待的第2个电话'OK'应答
{
StationRun(MsgCancel2ndCall,true);
break;
}
//============================================
case cnATcmd_SetCallForward0: // 设置呼叫转移'OK'应答
case cnATcmd_SetCallForward1: // 设置呼叫转移'OK'应答
case cnATcmd_SetCallForward2: // 设置呼叫转移'OK'应答
case cnATcmd_SetCallForward3: // 设置呼叫转移'OK'应答
{
//StationRun(MsgSetCallForward,true);
EepromRead(cnCallForwardTempLen,&ATcmdAckData,LoadEEpromAddr(cnCallForwardTemp));
EepromWrite(cnCallForwardLen,&ATcmdAckData,LoadEEpromAddr(cnCallForward)); // 存储转移设置状态
break;
}
//============================================
case cnATcmd_CancelCallForward: // 取消呼叫转移设置'OK'应答
{
//StationRun(MsgCancelCallForward,true);
break;
}
//============================================
case cnATcmd_SendCCLK: // 设置模块时钟'OK'应答
{
StationRun(MsgSetRealTime,true);
break;
}
//============================================
case cnATcmd_CCEDMain: // 查询主基站好'OK'应答
{
StationRun(MsgCCEDMain,TRUE);
break;
}
//============================================
case cnATcmd_CCEDSub: // 查询从属基站好'OK'应答
{
StationRun(MsgCCEDSub,TRUE);
break;
}
//============================================
default: break;
}
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_RING: // 收到振铃信号
{
bATcmdAckType = true; // 模块主动输出的参数
StationRun(MsgRvRing,NULL);
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
//新来电号码分析
case cnRxATcmd_ATAck_CLIP: // +CLIP: "05925186308",161,,,,0
{
RvNewCID:
bATcmdAckType = true; // 模块主动输出的参数
ATcmdAckIdataPtr = SeekCharInString('"',ATcmdAckIdataPtr); // 找+CLIP:后的双引号
FillTempBuf();
i = 0x00;
F0 = true;
while(*(++ATcmdAckIdataPtr) != '"') // 转换字符串,EEprom的存储格式:5029156803F8
{
F0 = !F0;
ATcmdAckData = *ATcmdAckIdataPtr & 0x0F;
if(F0)
{
ATcmdAckData <<= 4;
ATcmdAckData |= 0x0F;
TempBuf[i] &= ATcmdAckData;
++i;
}
else
{
ATcmdAckData |= 0xF0;
TempBuf[i] &= ATcmdAckData;
}
}
ATcmdAckData = &TempBuf[0];
StationRun(MsgRvCID,ATcmdAckData); // 新来电处理
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
//读取模块实时时钟分析
case cnRxATcmd_ATAck_CCLK: // +CCLK: "94/05/06,22:10:00"
{
ATcmdAckIdataPtr = SeekCharInString('"',ATcmdAckIdataPtr);
ATcmdAckDataPtr = &RealTime.Year;
for(i = 6; i > 0; i--) // 年/月/日,时:分:秒(共六位长度)
{
*ATcmdAckDataPtr = DecToHexByte((*++ATcmdAckIdataPtr << 4) | (*(++ATcmdAckIdataPtr) & 0x0F));
++ATcmdAckDataPtr;
++ATcmdAckIdataPtr;
}
// RefreshDispTime(); // RealTime.c 重新全部刷新Idle下时钟
bWaitOKAck = true;
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_NOCarrier:
case cnRxATcmd_ATAck_NOANSWER:
case cnRxATcmd_ATAck_BUSY:
case cnRxATcmd_ATAck_NODIALTONE:
{
StationRun(MsgEndTalking,NULL); //更改为发消息上去
//PostATcmd(cnATcmd_ATH,NULL);
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_Error:
{
switch(ATcmdTxArray[0].ATcmdNo & 0x7F) //普通指令出现ERROR,重发3次
{ //Del SMS 不处理
case cnATcmd_CMGD: // 删除短消息'ERROR'应答
{
StationRun(MsgDelSMS,false);
break;
}
//============================================
case cnATcmd_CMGS: // 发送短消息'ERROR'应答
{
StationRun(MsgSendSMS,false);
break;
}
//============================================
case cnATcmd_CMGR: // 读取短消息'ERROR'应答
{
StationRun(MsgReadSMS,false);
break;
}
//============================================
case cnATcmd_InputPIN: // SIM卡输入PIN码'ERROR'应答 不处理
{
StationRun(MsgPINState,cnInputPINError);
break;
}
//============================================
case cnATcmd_PINClck: // 设置SIM卡锁PIN码'ERROR'应答
{
StationRun(MsgPINState,cnClckPINError);
break;
}
//============================================
case cnATcmd_ChangePIN: // SIM卡更改PIN码'ERROR'应答
{
StationRun(MsgPINState,cnChangePINError);
break;
}
//============================================
case cnATcmd_PINUnClck: // 设置SIM卡PIN码解锁'ERROR'应答
{
StationRun(MsgPINState,cnUnClckPINError);
break;
}
//============================================
case cnATcmd_CHGBackPIN: // 更改SIM卡PIN码为默认值'ERROR'应答
{
StationRun(MsgPINState,cnCHGBackPINError);
break;
}
//============================================
case cnATcmd_CCID: // 查询SIM卡ID号'ERROR',重发了7次
{
if ((ATcmdTxPara & 0xf0) > 0xa0)
StationRun(MsgNoSIMCard,false); //重发了7次,认为无SIMCard
else
bATcmdNeedResend = true;; // 普通指令出现ERROR,重发该命令
break;
}
//============================================
default:
{
if ((ATcmdTxPara & 0xf0) > 0x40)
StationRun(MsgModelError,false); //重发了3次,认为系统出错,需要复位WAVCOM
else
bATcmdNeedResend = true;; // 普通指令出现ERROR,重发该命令
}
}
break;
}
/*
{
case cnATcmd_CMGI: // 查询厂家代码'ERROR'应答
{
break;
}
//============================================
case cnATcmd_ATA: // 接听电话'ERROR'应答
{
StationRun(MsgATACall,false); // 接听电话失败,发失败消息
break;
}
//============================================
case cnATcmd_ATH: // 挂断电话'ERROR'应答
{
StationRun(MsgATHCall,false); // 挂断电话失败,发失败消息
break;
}
//============================================
case cnATcmd_ATD: // 拨号'ERROR'应答
{
StationRun(MsgDialACall,false);
break;
}
//============================================
case cnATcmd_VTS: // 发DTMF 'ERROR'应答
{
StationRun(MsgDTMF,false);
break;
}
//============================================
case cnATcmd_IPR: // 设置波特率'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CSQ: // 查询信号强度'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CLIP: // 设置允许输出来电号码'ERROR'应答
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -