UIP移植的问题

[复制链接]
1885|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抓包看看
 楼主| missing01 发表于 2014-8-26 11:16 | 显示全部楼层
zhoukes 发表于 2014-8-26 10:58
用wireshark抓包看看

看了   抓到了PC发的 arp 请求  
mpuhome 发表于 2014-9-1 09:00 | 显示全部楼层
uip用的人很多了,除非很冷门CPU,一般都可以搜索到现成的代码
lcq07 发表于 2014-11-15 22:07 | 显示全部楼层
执行过程就是ApingB
A问B:B你在不在,你的ip是多少?
B回A:我的ip是xxx.xxx.xxx.xxx
A对B说:我给你发了串数据,你原样回给我
B回A说:好,我把你的数据原样回给你
HORSE7812 发表于 2015-1-15 09:27 | 显示全部楼层
nwx8899 发表于 2015-7-2 09:36 | 显示全部楼层
现在有没有成功啊???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

115

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部