📄 gprs.c
字号:
#include<REG52.h>
unsigned char link[3]={'A','T',0x0d};
//unsigned char number[23]={'A','T','+','C','S','C','A','=','+','8','6','1','3','8','0','0','5','7','3','5','0','0',0x0d};
unsigned char connect[26]={'A','T','+','C','G','D','C','O','N','T','=','1',',',0x22,'I','P',0x22,',',0x22,'C','M','N','E','T',0x22,0x0d};
unsigned char iplink[13]={'A','T','*','E','2','I','P','A','=','1',',','1',0x0d};
//unsigned char check[11]= {'A','T','*','E','2','I','P','I','=','0',0x0d};
//unsigned char dail[12]={'A','T','D','*','9','9','*','*','*','1','#',0x0d};
unsigned char ipmsg[33]={'A','T','*','E','2','I','P','O','=','1',',',
0x22,'6','0','.','1','9','0','.','1','2','8','.','1','9','0',0x22,',',
'5','0','0','0',0x0d};
unsigned char re[23];
unsigned int j;
sbit L4=P3^4;
sbit L5=P3^5;
sbit RTS=P3^6;
sbit L1=P1^1;
sbit CTS=P2^3;
sbit DTR=P3^7;
void initial(void)
{
L5=0;
L4=0; //开启GR47
P2=0x7D;
SCON=0x50;
TMOD=0x20;
PCON=0x00;
TH1=0xfd;
TL1=0xfd;
TR1=1;
//ES=1;
//EA=1;
}
void delay200(void)
{
unsigned char i,k;
for(i=400;i>0;i--)
for(k=248;k>0;k--); //延时200ms
}
//接收函数
void receive( unsigned char m)
{
//unsigned char *recei;
char i=0;
while(i<m)
{
while(RI==0); //等待接收完一个字符
re[i]=SBUF;
RI=0;
i++;
}
delay200();
}
//发送一个字符
void send_char( unsigned char ch)
{
SBUF=ch;
while (TI== 0 ); //等待发送完一字节
TI= 0 ;
}
//向串口发送一个字符串,strlen为该字符串长度
void send_string(unsigned char *str, unsigned int strlen)
{
unsigned char k= 0 ;
while (k <strlen)
{
send_char(*(str+k));
k++;
}
}
void main(void)
{
initial();
//for(j=0;j<60;j++)
//delay200(); //延迟12s 等待GR47搜寻网络
RTS=0; //RTS置低,进行软件握手
send_string(link,3) ; //发送AT建立连接
delay200();
send_string(connect,26); //发送AT+CGDCONT=1,"IP","CMNET"
//delay200();
//delay200();
send_string(iplink,13); //发送AT*E2IPA=1,1 说明:当前会话上的IP连接
//for(j=0;j<10;j++)
delay200();
//send_string(dail,12);
// send_string(check,11);
send_string(ipmsg,33); //发送AT*E2IPO=1,"192.168.1.102",21
//delay200();
receive(23);
delay200();
delay200();
RTS=1 ; //关闭通讯
while(1); //停机
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -