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

📄 atcmd.c

📁 这是一个完整的工程文件:简易手机模型
💻 C
📖 第 1 页 / 共 2 页
字号:
    i=0; 
   SEND('"');
   SEND(0x0d);
  }   
/**************************************************
- 函数名称 : void CPMS(uchar *mode,uchar fun)
- 函数说明 : 查询短信息
- 输入参数 : 无
- 输出参数 : 无
************************************************/
void CPMS(uchar *mode,uchar fun)
  {
   uchar i=0;
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('P');
   SEND('M');
   SEND('S');
   if(fun==0)
     {
      SEND('=');
      SEND('"');
      while(mode[i]!='\0')
       {
        SEND(mode[i]);
        i++;
       }
      SEND('"');
     }
   else  SEND('?');
   SEND(0x0d);
  }       
/**************************************************
- 函数名称 : void CMGD(uchar *index)
- 函数说明 : 删除短信息
- 输入参数 : 无
- 输出参数 : 无
************************************************/
void CMGD(uchar *index)
  {
   uchar i=0;
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('M');
   SEND('G');
   SEND('D');
   SEND('=');
   while(i<2)
      {
       if((index[i]-48<10)&&(index[i]-48>0))
         SEND(index[i]);
       i++;
      }
   SEND(0x0d);
  } 
/**************************************************
- 函数名称 : void CR(uchar num)
- 函数说明 : 服务报告控制
- 输入参数 : 无
- 输出参数 : 无
************************************************/
void CR(uchar num)
  {
   
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('R');
   //SEND('=');
   if(num=='?') SEND('?');
   else
     {
      SEND('=');
      SEND(num+48);
     }
   SEND(0x0d);
  }   
/**************************************************
- 函数名称 : void CNMI(void)
- 函数说明 : 查询是否收到短信息短信息
- 输入参数 : 无
- 输出参数 : 无
************************************************/
void CNMI(void)
  {
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('N');
   SEND('M');
   SEND('I');
   SEND('?');
   SEND(0x0d);
  } 
/**************************************************
- 函数名称 : void CSMS(uchar sevice)
- 函数说明 : 设置或查询短信息服务
- 输入参数 : 无
- 输出参数 : 无
************************************************/
void CSMS(uchar service)
  {
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('S');
   SEND('M');
   SEND('S');
   if(service=='?') SEND('?');
   else 
     {
      SEND('=');
      SEND(service+48);
     }
   SEND(0x0d);
  }              
/**************************************************
- 函数名称 : void CLVL(uchar num)
- 函数说明 : 设置或查询听筒的音量
- 输入参数 : 无
- 输出参数 : 无
************************************************/
void CLVL(uchar num)
  {
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('L');
   SEND('V');
   SEND('L');
   if(num=='?') SEND('?');
   else 
     {
      SEND('=');
      if((num<10)&&(num>0)) SEND(num+48);
      else if(num<100) 
         {
          SEND(num/10+48); 
          SEND(num%10+48);
         }
      else if (num<256)
         {
          SEND(num/100+48);
          num %=100; 
          SEND(num/10+48);
          SEND(num%10+48); 
         }    
     }
   SEND(0x0d);
  }                        
/*****************************************
- 函数名称 : void CMGL(uchar *type,uchar num)
- 函数说明 : 读取未读短信
- 输入参数 : 无
- 输出参数 : 无
*******************************************/
void CMGL(uchar *type,uchar num)
    {
     uchar i=0;
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('G');
     SEND('L');
     SEND('=');
     if(num !='?')
       {
        SEND('"');
        while(type[i]!='\0')
          {
           SEND(type[i]);
           i++;
          }
        SEND('"');
       }
    else SEND('?');
    SEND(0x0d);
   }
   
void CMGL1(void){
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('G');
     SEND('L');
     SEND('=');
     SEND('"');
     SEND('R');
     SEND('E');
     SEND('C');
     SEND(' ');
     SEND('U');
     SEND('N');
     SEND('R');
     SEND('E');
     SEND('A');
     SEND('D');    //D
     SEND('"');
     SEND(0x0d);
}   
/*****************************************
- 函数名称 : void CMGR(uchar *index,uchar mode)
- 函数说明 : 读取短信
- 输入参数 : 无
- 输出参数 : 无
*******************************************/
void CMGR(uchar *index,uchar mode)
    {
     uchar i=0;
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('G');
     SEND('R');
     SEND('=');
     while(i<2)
      {
       if((index[i]-48<10)&&(index[i]-48>0))
         SEND(index[i]);
       i++;
      }
     SEND(',');
     SEND(mode+48);
     SEND(0x0d);
    } 
/*********************************************************
- 函数名称 : void CLCC(void)
- 函数说明 : 发送CLCC命令,通话记录
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CLCC(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('L');
     SEND('C');
     SEND('C');
     SEND(0x0d);
    }  
/*********************************************************
- 函数名称 : void CHUP(void)
- 函数说明 : 发送CHUP命令,结束通话
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CHUP(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('H');
     SEND('U');
     SEND('P');
     SEND(0x0d);
    }      
/*********************************************************
- 函数名称 : void COLP(uchar num)
- 函数说明 : 发送COLP命令,查询或设置线路连接确认
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void COLP(uchar num)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('O');
     SEND('L');
     SEND('P');
     //SEND('=');
     if(num=='?') SEND('?');
     else 
       {
        SEND('=');
        SEND(num+48);
       }
     SEND(0x0d);
    }    
/*********************************************************
- 函数名称 : void CHLD(uchar num)
- 函数说明 : 发送CHLD命令,查询或设置对来电的处理方式
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CHLD(uchar num)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('H');
     SEND('L');
     SEND('D');
     SEND('=');
     if(num=='?') SEND('?');
     else 
       {
        //SEND('=');
        if(num>9) 
          {
           SEND(num/10+48);
           SEND(num%10+48);
          }
        else SEND(num+48);   
       }
     SEND(0x0d);
    }      

//以下是模块的特殊AT指令
/*********************************************************
- 函数名称 : void AUPATH(uchar path,uchar mode)
- 函数说明 : 发送$AUPATH命令,设定通话通道和模式
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void AUPATH(uchar path,uchar mode)
    {
     SEND('A');
     SEND('T');
     SEND('$');
     SEND('A');
     SEND('U');
     SEND('P');
     SEND('A');
     SEND('T');
     SEND('H');
     if(path=='?') SEND(path);
     else
       {
        SEND('=');
        SEND(path+48);
        SEND(',');
        SEND(mode+48);
       }
     SEND(0x0d);
    }  
/*********************************************************
- 函数名称 : void TIME(uchar stime,uchar mode)
- 函数说明 : 发送$TIME命令,设定或输出当前时间
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void TIME(uchar *stime,uchar mode)
    {
     SEND('A');
     SEND('T');
     SEND('$');
     SEND('T');
     SEND('I');
     SEND('M');
     SEND('E');
     if(mode=='?') SEND(mode);
     else
       {
        SEND('=');
        SEND(stime[0]/10+48);
        SEND(stime[0]%10+48);
        SEND(',');
        SEND(stime[1]/10+48);
        SEND(stime[1]%10+48);
        SEND(',');
        SEND(stime[2]/10+48);
        SEND(stime[2]%10+48);
       }
     SEND(0x0d);
    }  
/*********************************************************
- 函数名称 : void DATE(uchar sdate,uchar mode)
- 函数说明 : 发送$DATE命令,设定或输出当前日期
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void DATE(uchar *sdate,uchar mode)
    {
     SEND('A');
     SEND('T');
     SEND('$');
     SEND('D');
     SEND('A');
     SEND('T');
     SEND('E');
     if(mode=='?') SEND(mode);
     else
       {
        SEND('=');
        SEND(sdate[0]/10+48);
        SEND(sdate[0]%10+48);
        SEND(',');
        SEND(sdate[1]/10+48);
        SEND(sdate[1]%10+48);
        SEND(',');
        SEND(sdate[2]/10+48);
        SEND(sdate[2]%10+48);
       }
     SEND(0x0d);
    } 
void SendNum(unsigned char num)  
    {
     num &=0xf;
     SEND('A');
     SEND('T');
     SEND('+');
     SEND(num);
     SEND(0x0d);
    }
             

⌨️ 快捷键说明

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