首页 文章

Ethernet Shield无法提供正确的IP

提问于
浏览
1

今天是个好日子 .

我很难配置以太网屏蔽 .

  • 我将ENC28J60以太网屏蔽安装在Arduino Mega 2560上 .

  • 我将Arduino的USB端口连接到PC的USB端口,

  • 我将以太网网关的以太网端口连接到TP-Link路由器的LAN端口,IP地址为192.168.0.1,DHCP起始地址为.100到.200

我把上传的代码上传到Arduino模块:https://www.arduino.cc/en/Reference/EthernetClient

#include <Ethernet.h>
#include <SPI.h>


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 100 };
byte server[] = { 64, 233, 187, 99 }; // Google

EthernetClient client;

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);

  delay(1000);

  Serial.println("connecting...");

  if (client.connect(server, 80)) {
    Serial.println("connected");
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    for(;;)
      ;
  }
}

然后,从Arduino IDE的串行窗口,我得到了

connecting... connection failed disconnecting...

我也从上面尝试了一些类似的代码,有些正在输出屏蔽IP,但是,我仍然遇到同样的问题,以太网屏蔽不输出IP地址或说“连接” .

我也尝试过直通和交叉电缆 .

请帮忙 .

谢谢 .

2 回答

  • 0

    在你的代码中:
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

    必须与您的 Ethernet Shield mac地址匹配 .

  • 0

    也许尝试让您的路由器通过DHCP提供IP地址 . 要做到这一点,只需将设置例程中的行更改为 Ethernet.begin(mac);

相关问题