📄 wavecom.c
字号:
StationRun(MsgModelOk,false);
break;
}
//============================================
case cnATcmd_CCLK: // 设置实时时钟'ERROR'应答
{
StationRun(MsgModelOk,false);
break;
}
//============================================
case cnATcmd_ATM:
case cnATcmd_AUDIO:
{
StationRun(MsgModelOk,false);
break;
}
//============================================
case cnATcmd_CCID: // 查询SIM卡ID号'ERROR'应答
{
//bATcmdNeedResend = true;
StationRun(MsgRvSIMID,false);
break;
}
//============================================
case cnATcmd_TestAT: // 测试模块'ERROR'应答
{
StationRun(MsgModelOk,false);
break;
}
//============================================
case cnATcmd_SPSPKR0:
case cnATcmd_SPSPKR1:
case cnATcmd_SPSPKR2:
case cnATcmd_SPSPKR3:
case cnATcmd_HFSPKR0:
case cnATcmd_HFSPKR1:
case cnATcmd_HFSPKR2:
case cnATcmd_HFSPKR3: // 设置音量等级'ERROR'应答
{
break;
}
//============================================
case cnATcmd_MIC: // 设置MIC参数'ERROR'应答
{
break;
}
//============================================
case cnATcmd_SID: // 设置侧音参数'ERROR'应答
{
break;
}
//============================================
case cnATcmd_ECHO: // 设置回响参数'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CMGF: // 选择PDU格式'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CSMS: // 设置符合Phase II标准'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CNMI: // 设置短消息输出位置信息'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CREG: // 查询注册信息'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CMGR: // 读取短消息'ERROR'应答
{
//StationRun(MsgReadSMS,false);
break;
}
//============================================
case cnATcmd_CMGD: // 删除短消息'ERROR'应答
{
StationRun(MsgDelSMS,false);
break;
}
//============================================
case cnATcmd_CMGS: // 发送短消息'ERROR'应答
{
StationRun(MsgSendSMS,false);
break;
}
//============================================
case cnATcmd_CSCA: // 设置短信中心号码'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CMGL: // 罗列所以短消息'ERROR'应答
{
break;
}
//============================================
case cnATcmd_ATE: // 设置AT命令不回送'ERROR'应答
{
StationRun(MsgModelOk,false);
break;
}
//============================================
case cnATcmd_NeedPIN: // 查询SIM卡PIN码状态'ERROR'应答
{
StationRun(MsgPINState,cnReadPINStateError);
break;
}
//============================================
case cnATcmd_PINClck: // 设置SIM卡锁PIN码'ERROR'应答
{
StationRun(MsgPINState,cnClckPINError);
break;
}
//============================================
case cnATcmd_InputPIN: // SIM卡输入PIN码'ERROR'应答
{
StationRun(MsgPINState,cnInputPINError);
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_SaveCfg: // 用户设置参数存储'ERROR'应答
{
break;
}
//============================================
case cnATcmd_PowerOff: // 用户关机'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CheckBatt: // 检查电池电压'ERROR'应答
{
break;
}
//============================================
case cnATcmd_SetCallWaitting: // 设置呼叫等待'ERROR'应答
{
StationRun(MsgSetCallWait,false);
break;
}
//============================================
case cnATcmd_CancelCallWaittng: // 取消呼叫等待设置'ERROR'应答
{
StationRun(MsgCancelCallWait,false);
break;
}
//============================================
case cnATcmd_Answer2ndCall: // 接听呼叫等待的第2个电话'ERROR'应答
{
StationRun(MsgAnswer2ndCall,false);
break;
}
//============================================
case cnATcmd_Cancel2ndCall: // 挂断呼叫等待的第2个电话'ERROR'应答
{
StationRun(MsgCancel2ndCall,false);
break;
}
//============================================
case cnATcmd_SetCallForward0: // 设置呼叫转移'ERROR'应答
case cnATcmd_SetCallForward1: // 设置呼叫转移'OK'应答
case cnATcmd_SetCallForward2: // 设置呼叫转移'OK'应答
case cnATcmd_SetCallForward3: // 设置呼叫转移'OK'应答
{
StationRun(MsgSetCallForward,false);
break;
}
//============================================
case cnATcmd_CancelCallForward: // 取消呼叫转移设置'ERROR'应答
{
StationRun(MsgCancelCallForward,false);
break;
}
//============================================
case cnATcmd_SendCCLK: // 设置模块时钟'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CCEDMain: // 查询主基站好'ERROR'应答
{
break;
}
//============================================
case cnATcmd_CCEDSub: // 查询从属基站好'ERROR'应答
{
break;
}
//============================================
default: break;
}
break;
}
*/
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
//信号强度分析 +CSQ: x,99或许+CSQ: xy,99 (x,y为ASCII字符的数字数值(31,32...))
case cnRxATcmd_ATAck_CSQ: // +CSQ: 31,99
{
ATcmdAckIdataPtr = SeekCharInString(' ',ATcmdAckIdataPtr); // 找+CSQ:后空格
ATcmdAckData = *(++ATcmdAckIdataPtr) & 0x0F; //取31的低4位,表示信号强度
if(*(++ATcmdAckIdataPtr) != ',') //如果下一个字符,非逗号,表示当前信号强度为2个字节数据
{
ATcmdAckData = (ATcmdAckData << 4) | (*ATcmdAckIdataPtr & 0x0F); //合并2个字节数据(每个字节取低4位)
}
StationRun(MsgRvCSQ,ATcmdAckData); //往上层发信号强度消息
bWaitOKAck = true;
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
//读取SIM卡ID号
case cnRxATcmd_ATAck_SCKS: // +CCID: "89860062135002061687"
{
ATcmdAckIdataPtr = SeekCharInString('"',ATcmdAckIdataPtr); // 找+CCID:后的双引号
i = 0x00;
FillTempBuf();
F0 = true;
while(*(++ATcmdAckIdataPtr) != '"')
{
ATcmdAckData = *ATcmdAckIdataPtr & 0x0F;
F0 = !F0;
if(F0)
{
ATcmdAckData |= 0xF0;
TempBuf[i] &= ATcmdAckData;
++i;
}
else
{
ATcmdAckData <<= 4;
ATcmdAckData |= 0x0F;
TempBuf[i] &= ATcmdAckData;
}
}
ATcmdAckData = &TempBuf[0];
StationRun(MsgRvSIMID,ATcmdAckData);
bWaitOKAck = true;
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
//查询SIM卡PIN状态
case cnRxATcmd_ATAck_CPIN:
{
ATcmdAckCodePtr = &PIN_READY;
ATcmdAckIdataPtrTemp = ATcmdAckIdataPtr;
if(CmpString(ATcmdAckCodePtr,ATcmdAckIdataPtr))
{
StationRun(MsgPINState,cnPINReady); // 不需要输入PIN码
}
else
{
ATcmdAckCodePtr = &PIN_SIMPIN;
ATcmdAckIdataPtr = ATcmdAckIdataPtrTemp;
if(CmpString(ATcmdAckCodePtr,ATcmdAckIdataPtr))
{
StationRun(MsgPINState,cnPINNeed); // 需要输入PIN码
}
else
{
StationRun(MsgPINState,cnPINError); // PIN码错误(需要输入PUK码)
}
}
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_CCWA: // 呼叫等待设置
{ // +CCWA: "05925186318",129,1
goto RvNewCID;
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_CREG: // 注册信息查询
{ // +CREG: 0,1
ATcmdAckIdataPtr = SeekCharInString(',',ATcmdAckIdataPtr); // 找串中的','
ATcmdAckData = *(++ATcmdAckIdataPtr); // 网络注册标志数据
StationRun(MsgModelReg,ATcmdAckData);
bWaitOKAck = true; // 需要等待'OK'
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_CMTI: // 新短消息位置信息输出
{ // +CMTI: "SM",2 +CMTI: "SM",12
ATcmdAckIdataPtr = SeekCharInString(',',ATcmdAckIdataPtr); // 找串中的','
ATcmdAckData = *(++ATcmdAckIdataPtr) & 0x0F;
if(*(++ATcmdAckIdataPtr) != '\r')
{
ATcmdAckData = (ATcmdAckData << 4) | (*ATcmdAckIdataPtr & 0x0F);
}
ATcmdAckData = DecToHexByte(ATcmdAckData);
StationRun(MsgRvSMSPos,ATcmdAckData); // 短消息的位置信息数据
bATcmdAckType = true; // 模块主动输出的参数
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_CMGR: // 读取短消息
{
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_CMGS: // 发送短消息
{
bWaitOKAck = true; // 需要等待'OK'
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_CMGL: // 罗列短消息
{
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
case cnRxATcmd_ATAck_WBCI: // 检查电池电压
{ // +WBCI: 3,4149
ATcmdAckIdataPtr = SeekCharInString(',',ATcmdAckIdataPtr); // 找串中的','
ATcmdAckData = ((*(++ATcmdAckIdataPtr) & 0x0F) << 4) | (*(++ATcmdAckIdataPtr) & 0x0F); // 取电压数值
StationRun(MsgCheckBatt,ATcmdAckData);
bWaitOKAck = true; // 需要等待'OK'
break;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
default: break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -