AT+CSOC=1,1,1 //+CSOC:0 OK 创建 TCP socket, <socket_id>=0
AT+CSOCON=0,58713,"180.97.81.180" //OK 连接远端 TCP server
AT+CSOSEND=0,0,"Hello World" // OK发送 TCP 数据
AT+CSOCL=0 //OK 关闭 TCP socket
接收到的数据以十六进制字符串格式显示出来
+CSONMI: 0,24,68656C6C6F20776F726C6421 //hello world!
如何把16进制字符串转换为ascii 字符串,以下代码可以参考
u16 process_NB_uart(u8 *fdata)
{
u16 ret = 0;//这个ret是返回给串口的,串口根据处理结果返回不同的数据
u16 i =0;
u16 len=0;
u16 t=0,y=0;
u8 data_buff=0;
u8 xdata buf[pbuf_len]=0;
if(strstr(fdata,"+C")!=NULL)
{
while(fdata[i]!='+')
{
i++;
}
fdata+=i+1;
// PrintString1(fdata,Strlen(fdata));
// PrintString1("\r\n",Strlen("\r\n"));
if(CompareData(fdata, "CSONMI", 6)==0)//+CSONMI: 0,12,313233343536
{
fdata+=10;//313233343536
i=0;
while(fdata[i]!=',')//获取hex长度
{
len=len*10;
len+=fdata[i++]-'0';
}
fdata+=i+1;
//PrintString1(fdata,len);
//PrintString1(pbuf,pbuf[pbuf_len-1]);
len=len/2;
for(t=0;t<len;t++)
{
data_buff=0;
y=2*t;
if((fdata[y]>='0')&&(fdata[y]<='9'))data_buff=(u8)(fdata[y]-'0')<<4;
else if((fdata[y]>='A')&&(fdata[y]<='F'))data_buff=(u8)(fdata[y]-'A'+10)<<4;
if((fdata[y+1]>='0')&&(fdata[y+1]<='9'))data_buff+=fdata[y+1]-'0';
else if((fdata[y+1]>='A')&&(fdata[y+1]<='F'))data_buff+= fdata[y+1]-'A'+10;
buf[t]=data_buff;
}
buf[t+1]='\0';
buf[pbuf_len-1]=t;
ret='a';
}
else if(CompareData(fdata, "CSQ: ", 5)==0)
{
fdata+=5;
i=0;
while(fdata[i]!=',')
{
i++;
}
for(t=0;t<i;t++)
{
buf[t]=fdata[t];
}
buf[pbuf_len-1]=t;
return ret=1;
}
if(ret=='a')
{
ret=process_uart(buf,buf[pbuf_len-1]);
}
}
return ret;
}