<<返回上一页

W5500EVB发ARP请求包


关键词:ARP  W5500  WIZnet  W5500EVB


因为ARP是建立在MAC层之上的,W5500的ARP是硬件实现的。W5500能分层读IP和MAC层协议。为了用软件给大家说明ARP的工作情况,需要使用W5500的MAC RAW工作模式。所谓MAC RAW模式,就是直接读取MAC层数据包。W5500只有端口Mode0 支持MAC Raw 功能。

  1. 端口初始化。将端口0 初始化为MAC Raw 的过程如下:
  2. 		{
    			START:
    			Sn_MR = 0x04;
    			Sn_CR = OPEN;
    		/* Check if the value of Socket n Status Register(Sn_SR) is SOCK_MACRAW. */
    			if (Sn_SR != SOCK_MACRAW)
    			{
    				Sn_CR = CLOSE;
    				goto START;
    			}
    		}
    		
  1. 接收数据处理。MAC Raw 收到的是以太网的数据包,并带有数据包长度信息。在MAC Raw 数据包中,前面有两个字节的头,头的结构如图1:

  2. 发送数据/发送处理。与UDP 的处理相同,只是不需要远程端口信息。


例程下载:【ARP】
编译环境:keil V5.11
硬件要求:W5500EVB