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

📄 atcmd.c

📁 这是一个完整的工程文件:简易手机模型
💻 C
📖 第 1 页 / 共 2 页
字号:
//#include "system.h"   //包括CPU寄存器的定义、编译环境定义、试验系统定义
#define uchar unsigned char
/*********************************************************
- 函数名称 : void AT(void)
- 函数说明 : 发送AT命令,检测通讯是否正常
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void AT(void)
  {
   SEND('A');
   SEND('T');
   SEND(0x0d);
  }
/********************************************************
- 函数名称 : void ATE(uchar mode)
- 函数说明 : 发送ATE命令,控制是否回显命令, 0:关回显,1:开回显
- 输入参数 : 无
- 输出参数 : 无
********************************************************/
void ATE(uchar mode)
  {
   SEND('A');
   SEND('T');
   SEND('E');
   if(mode ==0) SEND('0');
   else SEND('1');
   SEND(0x0d);
  }


/***************************************************************
- 函数名称 : void CGMI(void)
- 函数说明 : 发送CGMI命令,显示模块的生产厂家
- 输入参数 : 无
- 输出参数 : 无
***************************************************************/
void CGMI(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('G');
     SEND('M');
     SEND('I');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CGMM(void)
- 函数说明 : 发送CGMM命令,显示模块的型号
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CGMM(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('G');
     SEND('M');
     SEND('M');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CGMR(void)
- 函数说明 : 发送CGMR命令,显示模块的版本号
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CGMR(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('G');
     SEND('M');
     SEND('R');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CGSN(void)
- 函数说明 : 发送CGSN命令,显示模块的系列号
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CGSN(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('G');
     SEND('S');
     SEND('N');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CIMI(void)
- 函数说明 : 发送CIMI命令,显示模块的CIMI码
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CIMI(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('I');
     SEND('M');
     SEND('I');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CEER(void)
- 函数说明 : 发送CEER命令,显示网络返回的报告信息
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CEER(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('E');
     SEND('E');
     SEND('R');
     SEND(0x0d);
    }    
/*********************************************************
- 函数名称 : void CSCS(void)
- 函数说明 : 发送CSCS命令,显示模块使用的字符集
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CSCS(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('S');
     SEND('C');
     SEND('S');
     SEND('?');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CMUX(void)
- 函数说明 : 发送CMUX命令,显示模块复合模式
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CMUX(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('U');
     SEND('X');
     SEND('?');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CSTA(void)
- 函数说明 : 发送CSTA命令,显示模块的CSTA类型
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CSTA(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('S');
     SEND('T');
     SEND('A');
     SEND('?');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CMOD(void)
- 函数说明 : 发送CMOD命令,显示模块的呼叫类型
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CMOD(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('O');
     SEND('D');
     SEND('?');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void COPS(void)
- 函数说明 : 发送COPS命令,显示SIM卡的网络服务商
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void COPS(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('O');
     SEND('P');
     SEND('S');
     SEND('?');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CSQ(void)
- 函数说明 : 发送CSQ命令,显示网络质量
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CSQ(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('S');
     SEND('Q');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void CPAS(void)
- 函数说明 : 发送CPAS命令,显示手机的状态
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CPAS(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('P');
     SEND('A');
     SEND('S');
     SEND(0x0d);
    }
/*********************************************************
- 函数名称 : void ATI(uchar num)
- 函数说明 : 发送AT命令,接听或不接听来电
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void ATI(uchar num)
    {
     num &=1;
     SEND('A');
     SEND('T');
     if(num==1) SEND('A');
     else if (num==0)   SEND('H');
     //dellay(10);
     SEND(0x0d);
    }    
/*********************************************************
- 函数名称 : void HRST(void)
- 函数说明 : 发送HRST命令,模块复位
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void HRST(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('H');
     SEND('R');
     SEND('S');
     SEND('T');
     SEND('=');
     SEND('1');
     SEND(0x0d);
    }    
/*********************************************************
- 函数名称 : void CFUN(void)
- 函数说明 : 发送CFUN命令,功能设置(检测是否插卡)
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CFUN(uchar data)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('F');
     SEND('U');
     SEND('N');
     if((data==0)||(data==1)||(data==4))
       {
        SEND('=');
        SEND(data+48);
       }
     else  SEND('?');
     SEND(0x0d);
    }   
/*********************************************************
- 函数名称 : void CPIN(void)
- 函数说明 : 发送CPIN命令,查询PIN码
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CPIN(void)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('P');
     SEND('I');
     SEND('N');
     SEND('?');
     SEND(0x0d);
    }  
/*********************************************************
- 函数名称 : void CLIP(uchar data)
- 函数说明 : 发送CLIP命令,查询来电号码
- 输入参数 : 无
- 输出参数 : 无
**********************************************************/
void CLIP(uchar data)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('L');
     SEND('I');
     SEND('P');
     if(data != '?')
       {
        SEND('=');
        SEND(data+48);
       }
     else  SEND('?');  
     SEND(0x0d);
    }             
/********************************************************
- 函数名称 : void CMGF(uchar mode)
- 函数说明 : 设置GSM模块短信格式
- 输入参数 : 无
- 输出参数 : 无
********************************************************/
void CMGF(uchar mode)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('G');
     SEND('F');
     if(mode == '?') SEND('?');
     else
       {
        SEND('=');
        SEND(mode+48);
       } 
     SEND(0x0d);
    }
/********************************************************
- 函数名称 : void CMEE(uchar mode)
- 函数说明 : 设置GSM模块短信格式
- 输入参数 : 无
- 输出参数 : 无
********************************************************/
void CMEE(uchar mode)
    {
     SEND('A');
     SEND('T');
     SEND('+');
     SEND('C');
     SEND('M');
     SEND('E');
     SEND('E');
     if(mode == '?') SEND('?');
     else
       {
        SEND('=');
        SEND(mode+48);
       } 
     SEND(0x0d);
    }    
/**************************************************
- 函数名称 : void CMGS(uchar *ptr)
- 函数说明 : 发送手机号;AT+CMGS="xxxxxxxxxxx(11位手机号)"<CR>
- 输入参数 : 接收手机号码
- 输出参数 : 无
************************************************/
void CMGS(uchar *ptr)
  {
   uchar i=0;
   //while ((ptr[l])!='\0') l++;   //统计数组字符数
   SEND('A');
   SEND('T');
   SEND('+');
   SEND('C');
   SEND('M');
   SEND('G');
   SEND('S');
   SEND('=');
   SEND('"');
   while ((ptr[i])!='\0') 
     {
      SEND(ptr[i]); //发送单个字符
      i++;
     }

⌨️ 快捷键说明

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