arp.c
来自「增加了tftp功能的vivi代码」· C语言 代码 · 共 36 行
C
36 行
#include "cs8900.h"
//#include "udelay.h"
#include "net.h"
#include "string.h"
#define PacketLength 60
u8 arp_packet[PacketLength]={0xFF,0xFF, 0xFF ,0xFF ,0xFF ,0xFF ,0x60 ,0x20,0x00 ,0x00 ,0x20 ,0x00 ,0x08 ,0x06 ,0x00 ,0x01,
0x08 ,0x00 ,0x06 ,0x04 ,0x00 ,0x01 ,0x60 ,0x20,0x00 ,0x00 ,0x20 ,0x00 ,0xC0 ,0xA8 ,0x01 ,0xBE,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0xC0 ,0xA8,0x01 ,0x0A ,0x0A ,0x0A ,0x0A ,0x0A ,0x0A ,0x0A,
0x0A ,0x0A ,0x0A ,0x0A ,0x0A ,0x0A ,0x0A ,0x0A,0x0A ,0x0A ,0x0A ,0x0A ,
};
s32 arp_broadcast(void)
{int i,t;
memcpy(arp_packet+6,board_MAC_address,6);//这是LLC协议中的
memcpy(arp_packet+22,board_MAC_address,6);//arp协议中的
//init_timer();
//eth_halt();
//eth_init();
for(i=0;i<20;i++)
{
t=eth_send(&arp_packet[0],PacketLength);
//if(t>0) printk("send packet ok ");
// else printk("send packet error");
t=eth_rx();
// if(t>0) printk("receive packet ok %d:",t);
// else printk("receive packet error");
}
return t;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?