susano
Junior Member level 1
hi all, i'm working on a mobile positioning project. i wana send some strings to a specified site, by using two gprs_init(only for initialization) and gprs_send functions as below:
//----------------------------------------
void gprs_init()
{
putsf("AT+CIPSHUT\r\n");
delay_ms(100);
putsf("AT+CGATT=1\r\n"); //gprs attachment
delay_ms(100);
putsf("AT+CGDCONT=1,"); //define PDP context
putchar('"');
putsf("IP");
putchar('"');
putchar(',');
putchar('"');
putsf("MTNIRANCELL");
putchar('"');
putsf("\r\n");
delay_ms(100);
putsf("AT+CSTT="); //set user/pass
putchar('"');
putsf("MTNIRANCELL");
putchar('"');
putchar(',');
putchar('"');
putsf("");
putchar('"');
putchar(',');
putchar('"');
putsf("");
putchar('"');
putsf("\r\n");
delay_ms(2000);
putsf("AT+CIICR\r\n");
delay_ms(3000);
putsf("AT+CIFSR\r\n");
delay_ms(1000);
putsf("AT+CIPSTATUS\r\n"); //Query current connection status
delay_ms(200);
putsf("AT+CIPHEAD=1\r\n");
delay_ms(100);
putsf("AT+CDNSORIP=0\r\n"); //Connect with IP address(0) or domain name(1) server
delay_ms(100);
}
//--------------------------------------------------------------
void gprs_send(char* buffer)
{
putsf("AT+CIPSTART=");
putchar('"');
putsf("TCP");
putchar('"');
putchar(',');
putchar('"');
putsf("50.22.151.7");
putchar('"');
putchar(',');
putchar('"');
putsf("80");
putchar('"');
putsf("\r\n");
delay_ms(15000);
putsf("AT+CIPSTATUS\r\n"); //Query current connection status
putsf("AT+CIPSEND\r\n");
delay_ms(1000);
printf("GET http://www.hamidrezaheydarian.com/save.asp?Data=%s;done\r\n\r\n%c",buffer,26);
}
the main problem is that in some cases the module can't be connected to the site;as a result, after issuing "AT+CIPSTATUS" command, i receive "TCP CONNECTING" instead of "CONNECT OK", and only after resetting the gprs connection(by calling gprs_init function) for several times, the connection to the site may be established again.
dose anyone know whats wrong with my code?:sad:
thanks in advance, waiting for your help...
//----------------------------------------
void gprs_init()
{
putsf("AT+CIPSHUT\r\n");
delay_ms(100);
putsf("AT+CGATT=1\r\n"); //gprs attachment
delay_ms(100);
putsf("AT+CGDCONT=1,"); //define PDP context
putchar('"');
putsf("IP");
putchar('"');
putchar(',');
putchar('"');
putsf("MTNIRANCELL");
putchar('"');
putsf("\r\n");
delay_ms(100);
putsf("AT+CSTT="); //set user/pass
putchar('"');
putsf("MTNIRANCELL");
putchar('"');
putchar(',');
putchar('"');
putsf("");
putchar('"');
putchar(',');
putchar('"');
putsf("");
putchar('"');
putsf("\r\n");
delay_ms(2000);
putsf("AT+CIICR\r\n");
delay_ms(3000);
putsf("AT+CIFSR\r\n");
delay_ms(1000);
putsf("AT+CIPSTATUS\r\n"); //Query current connection status
delay_ms(200);
putsf("AT+CIPHEAD=1\r\n");
delay_ms(100);
putsf("AT+CDNSORIP=0\r\n"); //Connect with IP address(0) or domain name(1) server
delay_ms(100);
}
//--------------------------------------------------------------
void gprs_send(char* buffer)
{
putsf("AT+CIPSTART=");
putchar('"');
putsf("TCP");
putchar('"');
putchar(',');
putchar('"');
putsf("50.22.151.7");
putchar('"');
putchar(',');
putchar('"');
putsf("80");
putchar('"');
putsf("\r\n");
delay_ms(15000);
putsf("AT+CIPSTATUS\r\n"); //Query current connection status
putsf("AT+CIPSEND\r\n");
delay_ms(1000);
printf("GET http://www.hamidrezaheydarian.com/save.asp?Data=%s;done\r\n\r\n%c",buffer,26);
}
the main problem is that in some cases the module can't be connected to the site;as a result, after issuing "AT+CIPSTATUS" command, i receive "TCP CONNECTING" instead of "CONNECT OK", and only after resetting the gprs connection(by calling gprs_init function) for several times, the connection to the site may be established again.
dose anyone know whats wrong with my code?:sad:
thanks in advance, waiting for your help...