📄 gprs.c
字号:
#include "44b.h"
#include "def.h"
#include "Zlg7289.h"
#include"GPRS.h"
void GPRS_Init()
{
Uart_Init(1,0,115200);//设置开发平台的串口1波特率
Delay(5000);
GPRS_Cmd("AT\n");
Delay(5000);
GPRS_Cmd("AT\n");
Delay(5000);
LCD_printf("\n");
LCD_printf(" / : Send short message\n");
LCD_printf(" * : Call the number.\n");
LCD_printf(" - : Ring off. \n");
LCD_printf(" + : Pick up. \n");
//下面选择通道1,使用带麦克的耳机
GPRS_Cmd("AT+CHFA=1\n"); //设置通话通道为1
Delay(1000);
GPRS_Cmd("AT+CLVL=100\n");//设置受话器音量最大
Delay(1000);
GPRS_Cmd("AT+CMIC=1,10\n");//设置通道1的话筒增益
Delay(1000);
//下面选择通道0,使用普通电话话柄
/*
GPRS_Cmd("AT+CHFA=0\n"); //设置通话通道为0
Delay(1000);
GPRS_Cmd("AT+CLVL=100\n");//设置受话器音量最大
Delay(1000);
GPRS_Cmd("AT+CMIC=0,10\n");//设置通道0的话筒增益
Delay(1000);
*/
}
void GPRS_HOLD()
{GPRS_Cmd("AT\n");
Delay(1000);
GPRS_Cmd("ATH\n");//发送挂机命令ATH
}
void GPRS_ANSWER()
{ GPRS_Cmd("AT\n");
Delay(1000);
GPRS_Cmd("ATA\n");//发送接听命令ATA
}
void GPRS_CALL(char *number)
{ GPRS_Cmd("AT\n");
Delay(5000);
GPRS_Cmd("AT\n");
Delay(5000);
GPRS_Cmd("ATD"); //发送拨打命令ATD
GPRS_Cmd(number);
GPRS_Cmd(";\n");
}
void GPRS_MGS(char *number,char *text) //发送短信
{ GPRS_Cmd("AT\n");
Delay(5000);
GPRS_Cmd("AT\n");
Delay(5000);
GPRS_Cmd("AT+CMGF=1\n"); //发送修改字符集命令
Delay(10000);
GPRS_Cmd("AT+CMGS="); //发送发短信命令,具体格式见手册
GPRS_Cmd(number);
GPRS_Cmd("\n");
Delay(10000);
GPRS_Cmd(text);
Delay(5000);
Uart_SendByte(1,26); //“CTRL+Z"的ASCII码
}
void GPRS_Cmd(char *pt)//串口发送命令字符串并等待回显
{int i=0;
char ch[1];
while(1)
{ if(pt[i]=='\0')break;
if(pt[i]=='\n')Uart_SendByte(1,'\r');
Uart_SendByte(1,pt[i]);
Uart_Getch(ch,1,0);
if (ch[0]=='\r')Uart_SendByte(0,'\n');
Uart_SendByte(0,ch[0]);
if (ch[0]=='\r')LCD_printf("\n");
else LCD_printf("%c",ch[0]);
i++;
}
}
void GPRS_KeyUartPoll()//回显模块送回的信息
{ char ch[1];
while(rPDATG&ZLG7289_KEY)
{if(rUTRSTAT1 & 0x1)
{Uart_Getch(ch,1,0);
Uart_SendByte(0,ch[0]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -