OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4240|回复: 2

关于uip中的函数

[复制链接]

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2100
金钱
2100
注册时间
2013-11-27
在线时间
518 小时
发表于 2014-12-26 22:37:29 | 显示全部楼层 |阅读模式
5金钱
这个函数tcp_client_demo_appcall
if (uip_newdata())
{
if((tcp_client_sta&(1<<6))==0)//????????????
{
if(uip_len>199)
{
((u8*)uip_appdata)[199]=0;
}
strcpy((char*)tcp_client_databuf,uip_appdata);
tcp_client_sta|=1<<6;//±í?????????§??????
}
}else if(tcp_client_sta&(1<<5))//???????è??·???
{
s->textptr=tcp_client_databuf;
s->textlen=strlen((const char*)tcp_client_databuf);
tcp_client_sta&=~(1<<5);//????±ê??
}
//?±?è????·???????????????????°ü???????????¨???±???¨??uip·???????
if(uip_rexmit()||uip_newdata()||uip_acked()||uip_connected()||uip_poll())
{
tcp_client_senddata();
}

里面两个地方都有uip_newdata,每次新数据到达 一定要发送出去数据吗?

还有这个标志位,tcp_client_tsta 在main函数里面设置的是0xff,而tcp_client_sta是没有初值的,在main函数里面,if(tcp_client_tsta!=tcp_client_sta)
那不是无论状态改变没有,都会进入这个if语句吗?

最佳答案

查看完整内容[请看2#楼]

uip_newdata是接收数据的,收到新数据,自然要读取出来,否则就会丢失。 tcp_client_tsta随后会等于tcp_client_sta,所以,启动后,只会执行一次,直到二者不想等,才会执行第二次。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-12-26 22:37:30 | 显示全部楼层
uip_newdata是接收数据的,收到新数据,自然要读取出来,否则就会丢失。
tcp_client_tsta随后会等于tcp_client_sta,所以,启动后,只会执行一次,直到二者不想等,才会执行第二次。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2100
金钱
2100
注册时间
2013-11-27
在线时间
518 小时
 楼主| 发表于 2014-12-27 00:12:00 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
uip_newdata,我的意思是 只要收到数据都会 发送数据吗?
if(uip_rexmit()||uip_newdata()||uip_acked()||uip_connected()||uip_poll())
{
tcp_server_senddata();
}

这个要是有新数据收到,不就会执行这个发送函数吗?


我在调试的时候发现,一连接tcp服务器的时候就会有新数据收到,这里的uip_newdata函数的数据,不仅仅是我通过网络调试助手发送的数据吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 01:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表