带有arduino的以太网屏蔽卡住了

时间:2013-01-21 13:12:13

标签: network-programming arduino

我遇到以太网屏蔽问题。

这是我写的草图

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.255 IP。

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

1 个答案:

答案 0 :(得分:2)

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

client.stop();

否则你的连接会用完,而且事情会锁定,看门狗定时器会超时。

根据Ethernet library docs该库最多支持四个并发连接(传入或传出或组合)