目录

ALPHA W5500 以太网模块

W5500是一款SPI接口的独立以太网控制器。集成硬件协议栈,最大通信速度为100M,支持全双工和半双工。因包含硬件协议栈,对单片机资源消耗较少。

特点

参考图片

例程

DHCP-based IP printer

本例程的主控为MEGA2560芯片。

/*
  DHCP-based IP printer
 
 This sketch uses the DHCP extensions to the Ethernet library
 to get an IP address via DHCP and print the address obtained.
 using an Arduino Wiznet Ethernet shield.
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 12 April 2011
 modified 9 Apr 2012
 by Tom Igoe
 
 */
 
#include <SPI.h>
#include <Ethernet2.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:
 
  Ethernet.w5500_cspin = 10;//主控为mega2560,若主控为atmel mgea328或者LGT8f328p则不需要该定义
 
  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() {
 
}

若主控为mega2560,则需要添加Ethernet.w5500_cspin = 10; 若主控为atmel mgea328或者LGT8f328p则不需要添加。

下载

数据手册:

W5500数据手册V1.3中文版

W5500 数据手册英文版

库:W5500库

原理图: OCROBOT ALPHA W5500原理图 R1