打印

UIP移植的问题

[复制链接]
1464|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
missing01|  楼主 | 2014-8-26 08:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PC ping通网卡的条件是什么呢?  PC 发送arp 请求  问谁是192.168.0.200
        if(BUF->type == htons(UIP_ETHTYPE_ARP))  //收到的是ARP数据  调用ARP处理
                                {
                                                uip_arp_arpin();
                                                if(uip_len > 0)
                                                        {
                     tapdev_send();
                                                        }
         
        }
                else if(BUF->type == htons(UIP_ETHTYPE_IP))  //收到的是IP数据,调用IP处理函数来处理
        {
                uip_arp_ipin();
                uip_input();
                if(uip_len > 0)
            {
                    uip_arp_out();
                    tapdev_send();
                                                }
        }
        else if(timer_expired(&periodic_timer)) //查看0.5S时间是否到时,到了调用uip_periodic处理 TCP超时函数
                                        {
            timer_reset(&periodic_timer);
                                                        for(i = 0; i < UIP_CONNS; i++)
                                                        {
                                                                                uip_periodic(i);  //执行此句   uip_len  被清空
                                                                                if(uip_len > 0)
                                                                                        {
                                                                                         uip_arp_out();
                                                                                         tapdev_send();
                                                                                        }
              }

相关帖子

沙发
missing01|  楼主 | 2014-8-26 08:40 | 只看该作者
单片机接收代码如上所示。 接收数据时  跳转到else if(BUF->type == htons(UIP_ETHTYPE_IP))  后面  我仔细看 uip_arp_ipin();是个空的  不会被执行到

使用特权

评论回复
板凳
missing01|  楼主 | 2014-8-26 08:43 | 只看该作者
执行完  uip_input();  uip_len  被清空 接着就返回了   PC 永远ping不同 DM9000CEP 。有做过的吗 ,ping通时的执行过程是什么呢

使用特权

评论回复
地板
zhoukes| | 2014-8-26 10:58 | 只看该作者
用wireshark抓包看看

使用特权

评论回复
5
missing01|  楼主 | 2014-8-26 11:16 | 只看该作者
zhoukes 发表于 2014-8-26 10:58
用wireshark抓包看看

看了   抓到了PC发的 arp 请求  

使用特权

评论回复
6
mpuhome| | 2014-9-1 09:00 | 只看该作者
uip用的人很多了,除非很冷门CPU,一般都可以搜索到现成的代码

使用特权

评论回复
7
lcq07| | 2014-11-15 22:07 | 只看该作者
执行过程就是ApingB
A问B:B你在不在,你的ip是多少?
B回A:我的ip是xxx.xxx.xxx.xxx
A对B说:我给你发了串数据,你原样回给我
B回A说:好,我把你的数据原样回给你

使用特权

评论回复
8
HORSE7812| | 2015-1-15 09:27 | 只看该作者
帮顶

使用特权

评论回复
9
nwx8899| | 2015-7-2 09:36 | 只看该作者
现在有没有成功啊???

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

115

帖子

2

粉丝