初级会员
- 积分
- 92
- 金钱
- 92
- 注册时间
- 2015-10-18
- 在线时间
- 21 小时
|
5金钱
我用的是lan8720 在ucosii 下使用
按照原子哥的例程操作
静态ip可以使用 打开dhcp获取不到ip
[mw_shl_code=applescript,true]//DHCP任务函数
void lwip_dhcp_task(void *pdata)
{
u32 ip=0,netmask=0,gw=0;
dhcp_start(&lwip_netif);
lwipdev.dhcpstatus=0;
while(1)
{
ip=lwip_netif.ip_addr.addr;
netmask=lwip_netif.netmask.addr;
gw=lwip_netif.gw.addr;
if(ip!=0) //在这里设置断电 ip总是0
{
lwipdev.dhcpstatus=2; //DHCP3é1|
lwipdev.ip[3]=(uint8_t)(ip>>24);
lwipdev.ip[2]=(uint8_t)(ip>>16);
lwipdev.ip[1]=(uint8_t)(ip>>8);
lwipdev.ip[0]=(uint8_t)(ip);
lwipdev.netmask[3]=(uint8_t)(netmask>>24);
lwipdev.netmask[2]=(uint8_t)(netmask>>16);
lwipdev.netmask[1]=(uint8_t)(netmask>>8);
lwipdev.netmask[0]=(uint8_t)(netmask);
lwipdev.gateway[3]=(uint8_t)(gw>>24);
lwipdev.gateway[2]=(uint8_t)(gw>>16);
lwipdev.gateway[1]=(uint8_t)(gw>>8);
lwipdev.gateway[0]=(uint8_t)(gw);
break;
}else if(lwip_netif.dhcp->tries>LWIP_MAX_DHCP_TRIES)
{
lwipdev.dhcpstatus=0XFF;
IP4_ADDR(&(lwip_netif.ip_addr),lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);
IP4_ADDR(&(lwip_netif.netmask),lwipdev.netmask[0],lwipdev.netmask[1],lwipdev.netmask[2],lwipdev.netmask[3]);
IP4_ADDR(&(lwip_netif.gw),lwipdev.gateway[0],lwipdev.gateway[1],lwipdev.gateway[2],lwipdev.gateway[3]);
break;
}
delay_ms(250);
}
lwip_comm_dhcp_delete();
}[/mw_shl_code]
|
|