学前班
最后登录1970-1-1
在线时间 小时
注册时间2015-12-8
|
楼主 |
发表于 2015-12-18 15:32:56
|
显示全部楼层
解码后的数据用过w5500输出到后台,会不会是由于这个原因?
if(new_parse ) //有新的解码消息
{
/* 对解码后的时间进行转换,转换成北京时间 */
GMTconvert(&info.utc,&beiJingTime,8,1);
printf("\r\n时间%d,%d,%d,%d,%d,%d", beiJingTime.year+1900, beiJingTime.mon+1,beiJingTime.day,beiJingTime.hour,beiJingTime.min,beiJingTime.sec);
printf("\r\n位置精度因子:%f", info.PDOP);
printf("\r\n纬度:%f,经度%f",info.lat,info.lon);
// printf("\r\n正在使用的卫星:%d,可见卫星:%d",info.satinfo.inuse,info.satinfo.inview);
// printf("\r\n海拔高度:%f 米 ", info.elv);
printf("\r\n速度:%f km/h ", info.speed);
// printf("\r\n航向:%f 度\r\n", info.direction);
printf("\r\n双天线相对真北的航向:%f 度", info.HEADING);
printf("\r\n是否真北:%c\r\n", info.true_north);
sprintf(str, "AA,%d,%d,%d,%4.9f,%5.9f,%4.2f", beiJingTime.hour, beiJingTime.min, beiJingTime.sec, info.lat, info.lon, info.HEADING);
strcpy(buffer, str);
do_tcp_client(); /*TCP_Client 数据回环测试程序*/
new_parse = 0;
}
void do_tcp_client(void)
{
uint16 len=0;
switch(getSn_SR(SOCK_TCPC)) /*获取socket的状态*/
{
case SOCK_CLOSED: /*socket处于关闭状态*/
socket(SOCK_TCPC,Sn_MR_TCP,local_port++,Sn_MR_ND);
break;
case SOCK_INIT: /*socket处于初始化状态*/
connect(SOCK_TCPC,remote_ip,remote_port); /*socket连接服务器*/
break;
case SOCK_ESTABLISHED: /*socket处于连接建立状态*/
len=sizeof(buffer);
memcpy(buff, buffer, len);
buff[len]=0x00;
send(SOCK_TCPC,buff,len);
break;
case SOCK_CLOSE_WAIT: /*socket处于等待关闭状态*/
close(SOCK_TCPC);
break;
}
}
好奇怪的是,最多延时十多分钟之久,这些数据存在哪里?如何修改?
|
|