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

📄 at_cmd.c

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 C
📖 第 1 页 / 共 4 页
字号:
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 + -