2012-07-15 59 views
1

我正在使用SerialIP库,并试图为我的Arduino创建一个SLIP连接。现在,当我尝试ping时,RX LED亮起,证明它实际上接收到数据包,但TX引脚不亮,并且数据包不返回。为什么我的Arduino不能返回它的ping?

我正在使用示例服务器程序。它设法到达主环(已与一些数字写入测试),这样我就可以看到那将是错误的代码的唯一事情就是IP地址定义:

// Set the IP address we'll be using. Make sure this doesn't conflict with 
// any IP addresses or subnets on your LAN or you won't be able to connect to 
// either the Arduino or your LAN... 
IP_ADDR myIP = {192,168,5,2}; 
IP_ADDR subnet = {255,255,255,0}; 

我通过Ubuntu服务器本,当我跑route,我得到这一行:

Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
...    ...    ...    ... ... ... ... 
192.168.5.2  *    255.255.255.255 UH 0  0  0 sl0 

我想,也许我不得不改变子网{} 255255255255,但它仍然有同样的结果:没有TX点燃RX。

现在我不知道为什么这不起作用。为什么是解决方案?

回答

1

我对Arduino和以太网了解不多,但在我看来,您必须编程您的Arduino才能发回ping。我在想硬件不会自动响应ping。发布一些代码,或者如果你遵循教程,发布链接。

祝你好运。

+0

我遵循本教程,并使用示例程序中的确切代码:http://arduino.cc/playground/Code/SerialIP – tyjkenn 2012-07-20 20:24:55

+0

@tyjkenn请告诉我们您尝试了什么。这就是Arduino在你发布的链接上说的:“如果RX闪烁但不是TX,Arduino忽略数据包,确保你分配给SLIP接口的IP地址与上传到Arduino的代码中的IP地址相匹配,确保代码例如通过使用digitalWrite()在主循环中打开和关闭LED()。内存不足可能导致Arduino在到达主循环之前复位。“你读过吗?除非你给我更多的信息,否则我无法帮助你。祝你好运。 – 2012-07-25 14:44:53

+0

它到达主循环,并且IP地址确实匹配。 – tyjkenn 2012-07-25 22:21:02