背景
参考 《LwIP应用开发实战指南》第7章,将 lwip_ping_raw demo 安装到stmf429 单片机后,即使没有任何操作,还是每隔1秒就会收到一个 60 字节的数据包,内容相同,很懵逼,决定搞懂。
测试
在ethernetif.c文件 low_level_input 方法中 添加接收到的数据内容打印代码:
for(int i =0;i < len;i++)printf("%02x",buffer[i]);
printf("\n");
PRINT_INFO("receive frame %d len buffer : %s\n", len, buffer);
获取数据内容是:
ffffffffffffc85ba001d24008060001080006040001c85ba001d240c0a80001ffffffffffffc0a80001000000000000000000000000000000000000
解析数据包
经过解析,这是一个携带 arp 协议的以太网数据包,解析过程如下:
遗留问题
虽然知道这是一个 携带 arp 协议的以太网数据包,但是为什么路由器要以1秒这么快的频率向单片机发送喃?有大神知道,告知一下,这个是我在Stack Ove