sfzvzfbv 發表於 2015-5-12 15:12:02

Mega2560+Ethernet問題

Mega2560連接非官方的Ethernet板子,再用RJ-45網路線連接到Router,請問這接法有問題嗎?還是我那些設定上有問題?

http://www.fotopu.com/img/827935-3.jpg

下面這張是參考網路上Mega2560連接Ethernet板子的接法。
http://www.fotopu.com/img/827936-3.png




以下是我測試的程式碼

#include <SPI.h>#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.// The IP address will be dependent on your local network:byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};IPAddress ip(192, 168, 0, 105);
// Initialize the Ethernet server library// with the IP address and port you want to use// (port 80 is default for HTTP):EthernetServer server(80);
void setup() {// Open serial communications and wait for port to open:Serial.begin(9600);while (!Serial) {    ; // wait for serial port to connect. Needed for Leonardo only}

// start the Ethernet connection and the server:Ethernet.begin(mac, ip);server.begin();Serial.print("server is at ");Serial.println(Ethernet.localIP());}

void loop() {// listen for incoming clientsEthernetClient client = server.available();if (client) {    Serial.println("new client");    // an http request ends with a blank line    boolean currentLineIsBlank = true;    while (client.connected()) {      if (client.available()) {      char c = client.read();      Serial.write(c);      // if you've gotten to the end of the line (received a newline      // character) and the line is blank, the http request has ended,      // so you can send a reply      if (c == '\n' && currentLineIsBlank) {          // send a standard http response header          client.println("HTTP/1.1 200 OK");          client.println("Content-Type: text/html");          client.println("Connection: close");// the connection will be closed after completion of the response          client.println("Refresh: 5");// refresh the page automatically every 5 sec          client.println();          client.println("<!DOCTYPE HTML>");          client.println("<html>");          // output the value of each analog input pin          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {            int sensorReading = analogRead(analogChannel);            client.print("analog input ");            client.print(analogChannel);            client.print(" is ");            client.print(sensorReading);            client.println("<br />");          }          client.println("</html>");          break;      }      if (c == '\n') {          // you're starting a new line          currentLineIsBlank = true;      }      else if (c != '\r') {          // you've gotten a character on the current line          currentLineIsBlank = false;      }      }    }    // give the web browser time to receive the data    delay(1);    // close the connection:    client.stop();    Serial.println("client disconnected");}}
頁: [1]
查看完整版本: Mega2560+Ethernet問題