极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10658|回复: 6

关于enc28J60的求助

[复制链接]
发表于 2013-1-18 06:36:01 | 显示全部楼层 |阅读模式
最近在研究怎么用arduino检查网络的情况,准备用enc28J60和Arduino连接以后,通过ping 8.8.8.8和ping 192.168.1.1来分别检查因特网和局域网的情况。把论坛里面几篇enc28J60的帖子看了一下,但是没有找到具体的函数解释,很多东西还是不明白。
例如ether.packetLoopIcmpCheckReply,ether.clientIcmpRequest 这些具体怎么用没有看到具体说明,也没有具体的例程解释。
想问下谁能帮忙解释一下或者提供一个思路或者历程,感激不尽。ps:英文水平不行,所以只能查找一下中文资料。
回复

使用道具 举报

 楼主| 发表于 2013-1-18 06:37:44 | 显示全部楼层
线路我已经连接好了,ping特定的ip地址并且返回时间也测试了,但是怎么判断网络不通,具体一些函数的用法,包括micros(),ether.packetLoop(len)的细节什么的都不清楚。
回复 支持 反对

使用道具 举报

发表于 2013-1-18 20:48:21 | 显示全部楼层
  1. static void clientIcmpRequest (const uint8_t *destip);
复制代码
用clientIcmpRequest()发送一个ICMP请求(即Ping),它有一个参数,*destip,及目标地址IP地址。
比如你要ping 8.8.8.8
先要把这个IP地址初始化一下:
  1. static byte hisip[] = {8,8,8,8 };
复制代码
然后可以用
  1. ether.clientIcmpRequest(hisip);
复制代码
向8.8.8.8这个ip地址发送一个imcp请求
如何查看目标IP是否回应嘞。。。
这就要先理解
  1. word len = ether.packetReceive(); // go receive new packets
  2.   word pos = ether.packetLoop(len); // respond to incoming pings
复制代码
这个可以看做mcu和enc交换数据,
packetReceive()方法: 从网络接收一个新传入的数据包;
packetLoop() 方法:对具体收到的信息作出回应,包含“ping” 请求(ICMP echo 请求)。
这个每个循环都要调用,不然网络就会有延迟。

然后再通过
  1. static uint8_t packetLoopIcmpCheckReply (const uint8_t *ip_mh);
复制代码
方法。
这个方法获取目标ip的icmp应答。有返回值,没有应答,返回false,有应答返回true,
所以你就要调用
  1. if (len > 0 && ether.packetLoopIcmpCheckReply(hisip)){
  2. //你的代码
  3. }
复制代码
len>0表示enc收到数据包
ether.packetLoopIcmpCheckReply(hisip)如果为真,表示收到了hisip的icmp应答。


——————————————————————————————————
今天喝高了。。不知道说对没。。各位大大指正。。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-18 21:41:59 | 显示全部楼层
首先感谢了再仔细看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-19 23:33:52 | 显示全部楼层
zcbzjx 发表于 2013-1-18 20:48
用clientIcmpRequest()发送一个ICMP请求(即Ping),它有一个参数,*destip,及目标地址IP地址。
比如你要 ...

非常感谢,不能说都理解了,但是至少我需要的东西能达到了。
回复 支持 反对

使用道具 举报

发表于 2013-1-20 08:42:14 | 显示全部楼层
yibamao 发表于 2013-1-19 23:33
非常感谢,不能说都理解了,但是至少我需要的东西能达到了。

有帮助就好,hoho。欢迎共享应用,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-21 08:35:45 | 显示全部楼层
做完了我肯定把程序传上来请大家指正。现在不好意思啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 13:33 , Processed in 0.038481 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表