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。
现在我不知道为什么这不起作用。为什么是解决方案?
我遵循本教程,并使用示例程序中的确切代码:http://arduino.cc/playground/Code/SerialIP – tyjkenn 2012-07-20 20:24:55
@tyjkenn请告诉我们您尝试了什么。这就是Arduino在你发布的链接上说的:“如果RX闪烁但不是TX,Arduino忽略数据包,确保你分配给SLIP接口的IP地址与上传到Arduino的代码中的IP地址相匹配,确保代码例如通过使用digitalWrite()在主循环中打开和关闭LED()。内存不足可能导致Arduino在到达主循环之前复位。“你读过吗?除非你给我更多的信息,否则我无法帮助你。祝你好运。 – 2012-07-25 14:44:53
它到达主循环,并且IP地址确实匹配。 – tyjkenn 2012-07-25 22:21:02