ch579M 发送 arp 广播

ch579M 发送arp 广播数据有相关例程吗? 参考 ch32v307 里的?MACRAW_Tx? ,在 ch579 里好像行不通,有什么解决方案吗?

经过修改可以发送 arp 广播 , 只是从arp 表里读到的数据不对

mem_arptable 的组成是? 单条24字节* 20 个 ?

arp:1 ,ip:192.168.1.190 mac:f0:57:a6:f2:ee:05? ?正确

arp:2 ,ip:49.13.2.0 mac:8c:47:00:20:c0:a8? ?不正确

arp:3 ,ip:192.168.1.221 mac:54:14:a7:32:8a:41? ?正确

arp:4 ,ip:96.141.2.3 mac:8c:47:00:20:c0:a8? ?不正确

arp:5 ,ip:192.168.1.108 mac:5a:58:14:44:df:fb? ?正确

arp:6 ,ip:76.138.2.1 mac:8c:47:00:20:c0:a8? ? 不正确

arp:7 ,ip:192.168.1.88 mac:00:f0:d2:d0:6d:db?

arp:8 ,ip:163.110.2.2 mac:8c:47:00:20:c0:a8?

从 arp 表里读的数据怎么感觉奇数个都是错的


您好,我这边测试579M可以正常发送ARP包,并且通过抓包和PC机arp表可以看到arp信息。

可以留个邮箱发您参考例程看一下。(邮箱:lq@wch.cn)


发送arp 包可以了,在 ch579 上读mem_arptable 里的数据有问题

1}}00E41J}FZHS05OZFUNOG.png

arp 1  arp 3   arp5  ... 都是对的    arp2  arp4  ... 这些都是乱的,不正确


我的目的是通过ch579的arp 功能 判断网内的某些设备是否有回复(检测设备网络连接情况),现在arp 表里读出来的数据不是完全正确的 


我是这样测试的 ,读出 arp 表

 for(i=0;i

printf("arp:%d ,ip:%d.%d.%d.%d mac:%02x:%02x:%02x:%02x:%02x:%02x \r\n",i/24+1,Mem_ArpTable[i],Mem_ArpTable[i+1],Mem_ArpTable[i+2],Mem_ArpTable[i+3],Mem_ArpTable[i+4],Mem_ArpTable[i+5],Mem_ArpTable[i+6],Mem_ArpTable[i+7],Mem_ArpTable[i+8],Mem_ArpTable[i+9]);

}



已经解决了,是arp 每项的长度不是24 ,读取解析的问题


只有登录才能回复,可以选择微信账号登录