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