0

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

4

1 回答 1

0

听起来您的网络没有配置DHCP。这通常在大多数家庭网络的路由器上设置。

尝试像这样给 Ardunio 一个静态IP 地址

byte MAC_address[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ipAddress(192,168,1,1152); 
EthernetClient client;
Ethernet.begin(MAC_address, ipAddress);

如果这不起作用,你如何连接你的 Arduino?是连接到计算机、路由器还是调制解调器?

于 2013-05-23T02:40:00.197 回答