📄 atcmd.c
字号:
//#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 + -