/***************************************************************************** ** Function name: GPRS_QISEND ** ** Descriptions: GPRS模块发送数据 ** ** ** parameters: *sbuf——发送的数据缓存 len——发送数据的长度 ** Returned value: 发送成功——1 发送失败——0 ** *******************************************************************************/ unsigned char GPRS_QISEND(unsigned char *sbuf,unsigned char len) { unsigned char rbuf[512]={0},rlen=0,i; unsigned char flag=0; unsigned char sendbuf[128]={0},nbuf[4]={0}; strcat((char *)sendbuf,"AT+QISEND="); sprintf((char *)nbuf,"%d",len); strncat((char *)sendbuf,(char *)nbuf,strlen((char *)nbuf)); //Trace("sendbuf:"); // for(i=0;i<strlen(sendbuf);i++) // Trace("%c",sendbuf[i]); //Trace("\r\n"); GPRS_MissionProcess((char *)sendbuf,strlen((char *)sendbuf),rbuf,&rlen); //for(i=0;i<rlen;i++) // Trace("%c",rbuf[i]); //Trace("\r\n"); flag = ComparisonSTR(rbuf,">"); if(flag == 1) { GPRS_SendData((char *)sbuf,len,rbuf,&rlen); Trace("\r\nSEND2"); for(i=0;i<rlen;i++) Trace("%c",rbuf[i]); Trace("\r\n"); flag = ComparisonSTR(rbuf,"SEND OK"); if(flag == 1) return 1; } return 0; }
void Task_GPRS(void *Tags) { while(1) { // if(GPRS_CommandAck("AT+CSTT=\"CMNET\"","OK",1000)){DeBug_Get();DeBug_WriteLine(USART2,"移动");} // if(GPRS_CommandAck("AT+CSTT=\"UNINET\"","OK",1000)){DeBug_Get();DeBug_WriteLine(USART2,"联通");} // if(GPRS_CommandAck("ATE0","OK",1000)){DeBug_Get();DeBug_WriteLine(USART2,"清回显");} // if(GPRS_CommandAck("AT&W","OK",1000)){DeBug_Get();DeBug_WriteLine(USART2,"保存配置");} Tos_TaskDelay(10000); GPRS_SendData(); //GPRS_SendMessage(); } }