Arduino以太网屏蔽:dhcpaddressprinter错误

时间:2013-03-10 20:18:50

标签: arduino

我是以太网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配置以太网”的消息。

1 个答案:

答案 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?它是计算机,路由器还是调制解调器?