什么是DHCP?
要移植DHCP,需要先了解一下DHCP是什么原理,做什么用的,便于移植。
DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,说白了就是为一个主机动态自动的分配地址,上一篇文章(链接)中配置IP为192.168.4.17,那要是这个地址已经被占用了怎么办呢。那么强制配置芯片为这个地址就会失败,无法配置成功。DHCP就可解决这个问题,给客户端分配一个可用的IP。
具体DHCP的详细知识可参考这个文章:http://blog.csdn.net/u012359618/article/details/51872678。
DHCP程序移植
首先,还是添加DHCP的驱动文件。
接着,进行DHCP的程序移植。DHCP使用的是UDP协议,客户端端口是68,服务器的端口是67。
/* UDP port numbers for DHCP */
#define DHCP_SERVER_PORT 67 ///< DHCP server port number
#define DHCP_CLIENT_PORT 68 ///< DHCP client port number
然后进行DHCP的配置。
void DHCP_SET(void)
{
setSHAR(gWIZNETINFO.mac); // must be set the default mac before DHCP started