Wenn ich diesen Code auf meinem W5100 Ethernet Shield ausführe :
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
void setup() {
Ethernet.begin(mac);
}
Es funktioniert nur, wenn die SD-Karte aus dem Schild entfernt wurde!
Ich habe Tage gebraucht, um diesen Fehler zu finden. Wenn die SD-Karte installiert ist, funktioniert nur das vollständige Start-Setup :
Ethernet.begin(mac, ip, dns, gateway, subnet);
Die offizielle Dokumentation vonEthernet.begin()
sagt nichts über dieses Problem aus. Warum funktioniert es nur vollständig, wenn die SD-Karte entfernt wurde? Ist das ein "Dokumentationsfehler"?
Antworten:
Laut der Arduino Ethernet Shield-Seite :
Und wenn Sie die erste Version des Boards verwenden:
quelle
Sie können Fehler mit dem Code - Basis berichten hier (es sieht aus wie sie von Google Code auf Github bewegt).
Basierend auf diesem Bericht scheint es, als hätte ein Dritter die DHCP-Unterstützung hinzugefügt, daher würde ich das Problem melden, um sicherzustellen, dass es kein Fehler ist.
Es sieht so aus, als würden Sie aufgrund dieses Berichts möglicherweise eine schlechte Dokumentation verwenden .
quelle
Kevin Mark gab eine sehr gute Antwort, warum Ihr Ethernet-Schild nicht mit SD funktioniert. Hier finden Sie eine Antwort, was zu tun ist, damit es funktioniert.
Wie vermeide ich eine Verwechslung von SD-Karte und W1500 SPI auf dem Ethernet Shield?
quelle