【发布时间】:2013-01-18 16:32:02
【问题描述】:
我正在使用 Arduino Uno 测试以太网 shield,但仅使用示例草图就会出现 DHCP 错误。
#include <SPI.h>
#include <Ethernet.h>
byte MACaddress[] = { 0x90, 0xAD, 0xDA, 0x0D, 0x96, 0xFE };
EthernetClient client;
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
// Start the Ethernet connection:
if (Ethernet.begin(MACaddress) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
for(;;)
;
}
Serial.print("My IP address: ");
for (byte thisByte = 0; thisByte < 4; thisByte++) {
Serial.print(Ethernet.localIP()[thisByte], DEC);
Serial.print(".");
}
Serial.println();
}
void loop() {
}
我打开了路由器管理页面,我可以看到它给了 Arduino 一个IP address,与MAC address 相关联。我也在代码中尝试了静态 IP 地址 (Ethernet.begin(MACaddress, IPaddress)),但它也不起作用。
我无法ping通路由器管理员页面中显示的屏蔽IP地址。
这个简单的代码有什么问题?
一切都是开箱即用的,Arduino 和盾牌。我没有对它们做任何事情,只是将屏蔽连接到 Arduino 并发送代码。似乎一切正常,LEDs 两块板都在闪烁。
【问题讨论】:
-
有很多以太网屏蔽,编辑问题包含模型。示例代码适用于一种类型,可能不兼容。如果人们不知道硬件是什么,他们就无法在这方面提供帮助。