arp.c
来自「此文档是网上一款开发板的完整系统,内附有电路图纸!系统有完整的接口程式,包含了字」· C语言 代码 · 共 32 行
C
32 行
void arp_answer()
{
unsigned char i;
#ifdef debug
send_string("\r\nARP: destip=");
send_word(rxdnet.arpframe.destip[0]);
send_word(rxdnet.arpframe.destip[1]);
#endif
if (rxdnet.arpframe.destip[0]==my_ip_address.words[0])
if (rxdnet.arpframe.destip[1]==my_ip_address.words[1])
{//表示是向我这个ip地址的请求
for(i=16;i<64;i++)
{//复制arp到发送缓冲区
txdnet.bytes.bytebuf[i]=rxdnet.bytes.bytebuf[i];
}
for(i=0;i<3;i++)
{//复制对方网卡地址或网关地址
txdnet.etherframe.destnodeid[i]=rxdnet.etherframe.sourcenodeid[i];
txdnet.arpframe.sourcenodeid[i]=txdnet.etherframe.sourcenodeid[i];
txdnet.arpframe.destnodeid[i]=rxdnet.arpframe.sourcenodeid[i];
}
for(i=0;i<2;i++)
{
txdnet.arpframe.destip[i]=rxdnet.arpframe.sourceip[i];
txdnet.arpframe.sourceip[i]=rxdnet.arpframe.destip[i];
}
txdnet.arpframe.operation=0x0002;//应答代码
//txdnet.arpframe.sourceip[1]=0x1020; //debug
send_packet(60);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?