我在源代码上修改,自己进行gprs网络连接:问题如下:
[mw_shl_code=c,true]void sim900a_gprs_test(void)
{
u8 *p,*p1;
p=mymalloc(100);
if(sim900a_send_cmd("ATE","OK",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"??±?????:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CIPCLOSE=1","CLOSE OK",100)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"??±?????:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CIPSHUT","SHUT OK",100)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"??±????????°:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CPIN?","OK",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"?é???¨×???:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CREG?","+CGREG:",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"?é??GSM×???:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT++CGREG?","+CGREG:",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"?é???¨GPRS×???:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CIPMUX=1","OK",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"?????à?·????:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CGATT=1","OK",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"??×?GPRS????:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CSTT=\"CMNET\"","OK",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"?è??GPRS??????:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CIICR","OK",1500)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"?¤?????????°:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
if(sim900a_send_cmd("AT+CIFSR","OK",1000)==0)
{
p1=(u8*)strstr((const char*)(UART2_Rev_Buf+2),"\r\n");
p1[0]=0;//?????á??·?
sprintf((char*)p,"????±???IP:%s",UART2_Rev_Buf+2);
GET_ARRAY_LEN(UART2_Rev_Buf,UART2_length);
UART1_SendStr(p,UART2_length);
UART2_length=0;
USART2_RX_STA=0;
}
myfree(p);
//while(1)
//{
//sim900a_tcpudp_test();
// delay_ms(10);
//}
} [/mw_shl_code]
收到的数据总是有问题吗,请问代码哪里出问题了,看不明白啊 |