我把定时器二给关了因为这个中断会导致我一直死在中断里,我感觉这个只是计算超时的,就没开启它。。。。。(不知道这样可不可以)因为之前ntp也是用野火的历程,我也没开启定时器2,也能获取到时间。然后重点就是DHCP一直没通,我调试了下发现它在开启socket后
if(getSn_SR(s)!=SOCK_CLOSED) /*socket处于打开状态*/
{
if ((len = getSn_RX_RSR(s)) > 0) /*接收到数据*/
{
type = parseDHCPMSG(len); /*解析收到的封包类型*/
temp = &pRIPMSG->op;
printf("%s\r\n",temp);
}
}
第二个IF没有进去就是我没有收到数据,我不清楚是什么原因,是我DHCP的服务器的IP没有设置好吗?我看了下发送discover的函数里,里面的IP的地址是uint8 ip[4] = {255,255,255,255};不知道是不是这个IP地址设置的不正确还是因为我自己接的这根网线是直接从交换机里出来的没有通过路由导致它没有DHCP协议,还望请论坛的大神帮忙给小弟解惑?(因为不是学计算机网络的真的不太懂这里面的东西) |