我是以太网shield的新手,我尝试使用给定的DhcpAddressPrinter示例。但我无法让程序正常运行。
下面是草图:
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
// This check is only needed on the Leonardo:
while (!Serial) {
; // Wait for serial port to connect. Needed for Leonardo only.
}
// Start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// No point in carrying on, so do nothing forevermore:
for(;;)
;
}
// Print your local IP address:
Serial.print("My IP address: ");
for (byte thisByte = 0; thisByte < 4; thisByte++) {
// print the value of each byte of the IP address:
Serial.print(Ethernet.localIP()[thisByte], DEC);
Serial.print(".");
}
Serial.println();
}
void loop() {
}
打开串口监视器后,我在很长一段时间后收到“无法使用DHCP配置以太网”的消息。
答案 0 :(得分:0)
听起来您的网络没有配置DHCP。这通常是在大多数家庭网络的路由器上设置的。
尝试给Ardunio一个静态IP address,如此
byte MAC_address[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ipAddress(192,168,1,1152);
EthernetClient client;
Ethernet.begin(MAC_address, ipAddress);
如果这不起作用,您如何连接Arduino?它是计算机,路由器还是调制解调器?