1

我的以太网屏蔽有问题。

这是我写的草图

void loop() {
  wdt_reset ();

  EthernetClient client = server.available();
  if (client) {
    wdt_reset();
    if (client.available() > 0) {
      char thisChar = client.read();
      Serial.write(thisChar);
      RXtext += thisChar;
      // --------------------- this one repeat for few other strings ----
      if (RXtext.indexOf("L1_On") >= 0) {
        // do stuff
        RXtext = GetStat();  // get system status and replay
        server.print(RXtext);
        Serial.println(RXtext);
        RXtext = "";

        wdt_reset();
      }
      // ---------- end of repeat -------
    }
  }
}

由于某种原因,arduino 在我连接到它几次后卡住了,它没有重置 wtd 并且它被重置并且它失去了 IP 并获得了255.255.255.255IP。

有人可以告诉我有什么问题吗?

4

1 回答 1

2

您需要在循环结束时关闭连接:

client.stop();

否则,您将用完连接,并且事物将锁定并且看门狗计时器将超时。

根据以太网库文档该库最多支持四个并发连接(传入或传出或组合)

于 2013-01-21T21:09:36.387 回答