📄 at_cmd.c
字号:
void SetIsMC35i(BOOLEAN MC35i)
{
if(MC35i) VarIsMC35i=TRUE;
else VarIsMC35i=FALSE;
}
INT16U AT_ATI(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "ATI");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
#endif
#if GSM_BENQ
/*
==========================================================================
Description: close echo of at command
==========================================================================
*/
INT16U AT_MUXInit(INT8U *ptr, BOOLEAN echo)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "ATE");
if (echo) WriteBYTE_Strm(&tmpstrm, '1');
else WriteSTR_Strm(&tmpstrm, "0Q0V1");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: 声道切换BenQ
Note: GSM_BENQ
==========================================================================
*/
INT16U AT_AUPath(INT8U *Ptr,INT8U Path)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUPATH=");
WriteBYTE_Strm(&tmpstrm,Path);
WriteBYTE_Strm(&tmpstrm,',');
WriteBYTE_Strm(&tmpstrm,'1');
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: Gain
Note: GSM_BENQ
$AUGAIN: (0-2), (1-9)
path:0==sidetone
==========================================================================
*/
INT16U AT_AUGain(INT8U *Ptr,INT8U Path,INT8U Volume)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUGAIN=");
WriteBYTE_Strm(&tmpstrm,Path);
WriteBYTE_Strm(&tmpstrm,',');
WriteBYTE_Strm(&tmpstrm,Volume);
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: Volume
Note: GSM_BENQ
Mute:0
range:1-5
==========================================================================
*/
INT16U AT_AUVol(INT8U *Ptr,INT8U Volume)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUVol=");
WriteBYTE_Strm(&tmpstrm,Volume);
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: AEC
Note: BENQ ECHO PARA
para: dataptr must end by null
==========================================================================
*/
INT16U AT_AUAec(INT8U *Ptr,INT8U *DataPtr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUAec=");
while(*DataPtr)
{
WriteBYTE_Strm(&tmpstrm,*DataPtr++);
}
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: AT+CHUP
Note: GSM_BENQ
==========================================================================
*/
INT16U AT_Chup(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT+CHUP");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: AT$NOSLEEP
Note: GSM_BENQ
==========================================================================
*/
INT16U AT_NOSLEEP(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$NOSLEEP=1");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: AT$Date
Note: GSM_BENQ
==========================================================================
*/
INT16U AT_Date(INT8U *Ptr, DATE_STRUCT *date)
{
INT8U len;
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$DATE=");
len = DecToAscii(GetStrmPtr(&tmpstrm), date->year, 2);
MovStrmPtr(&tmpstrm, len);
WriteBYTE_Strm(&tmpstrm,',');
len = DecToAscii(GetStrmPtr(&tmpstrm), date->month, 2);
MovStrmPtr(&tmpstrm, len);
WriteBYTE_Strm(&tmpstrm,',');
len = DecToAscii(GetStrmPtr(&tmpstrm), date->day, 2);
MovStrmPtr(&tmpstrm, len);
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
********************************************************************************
* AT+Date=? Read Real Time Clock
********************************************************************************
*/
INT16U AT_R_Date(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT$DATE?");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
==========================================================================
Description: AT$Time
Note: GSM_BENQ
==========================================================================
*/
INT16U AT_Time(INT8U *Ptr,TIME_STRUCT *time)
{
INT8U len;
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$TIME=");
len = DecToAscii(GetStrmPtr(&tmpstrm), time->hour, 2);
MovStrmPtr(&tmpstrm, len);
WriteBYTE_Strm(&tmpstrm,',');
len = DecToAscii(GetStrmPtr(&tmpstrm), time->minute, 2);
MovStrmPtr(&tmpstrm, len);
WriteBYTE_Strm(&tmpstrm,',');
len = DecToAscii(GetStrmPtr(&tmpstrm), time->second, 2);
MovStrmPtr(&tmpstrm, len);
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
********************************************************************************
* "AT$TIME=? Read Real Time Clock
********************************************************************************
*/
INT16U AT_R_Time(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT$TIME?");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_COLP(INT8U *ptr,INT8U Value)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT+COLP=");
if(COLP_DISABLE == Value) WriteBYTE_Strm(&tmpstrm,'0');
else WriteBYTE_Strm(&tmpstrm,'1');
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*INT16U AT_GDT(INT8U *ptr,INT8U Value)
{
INT8U temp[2],len;
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT+GDT=");
len = HexToDec(temp,&Value,1);
//WriteBYTE_Strm(&tmpstrm,Value+'0');
WriteDATA_Strm(&tmpstrm,temp,len);
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}*/
INT16U AT_AULEVELMAX(INT8U *Ptr,INT8U *DataPtr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AULEVELMAX=");
while(*DataPtr)
{
WriteBYTE_Strm(&tmpstrm,*DataPtr++);
}
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_AUVAD(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUVAD=13392");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_AUABS(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUABS=256");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_AUTOCAMPON(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT$AUTOCAMPON=0");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_SATC(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT%SATC=1,7fffffff7f0200fb07");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*INT16U AT_COPS(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT+COPS=0");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
} */
INT16U AT_COPS(INT8U *ptr, INT8U mode)
{
InitStrm(&tmpstrm, ptr, 1024);
if(AT_MODE_AUTO_COPS == mode){
WriteSTR_Strm(&tmpstrm, "AT+COPS=0");
}else if(AT_MODE_MANUAL_COPS){
WriteSTR_Strm(&tmpstrm, "AT+COPS=1,2,");
WriteBYTE_Strm(&tmpstrm, '"');
WriteSTR_Strm(&tmpstrm, "46000");
WriteBYTE_Strm(&tmpstrm, '"');
}
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_CFUN(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"AT+CFUN=1");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_R_AUTOCAMPON(INT8U *Ptr)
{
InitStrm(&tmpstrm, Ptr, 1024);
WriteSTR_Strm(&tmpstrm,"at$autocampon?");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
/*
********************************************************************************
* ATX4
********************************************************************************
*/
/*INT16U AT_X4(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "ATX4");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
} */
/*
********************************************************************************
* ATX4
********************************************************************************
*/
/*INT16U AT_W(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "ATW");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
*/
/*
********************************************************************************
* "AT$CGQREQ= write cgqreq
********************************************************************************
*/
/*INT16U AT_CGQREQ(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT+CGQREQ=1,1,1,5,9,15");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_R_CGQREQ(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT+CGQREQ?");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_CGQMIN(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT+CGQMINQ=1,1,1,5,8,14");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
INT16U AT_R_CGQMIN(INT8U *ptr)
{
InitStrm(&tmpstrm, ptr, 1024);
WriteSTR_Strm(&tmpstrm, "AT+CGQMINQ?");
WriteCR_Strm(&tmpstrm);
return GetStrmLen(&tmpstrm);
}
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -