用户工具

站点工具


ocrobot:alpha:enc28j60:tutorial04

基于DHCP的IP打印机

使用DHCP扩展以太网库,以获得通过DHCP的IP地址和打印获得的地址。

搭建电路

1、将ALPHA ENC28J60堆叠于ALPHA MEGA328-U上;

2、用网线连接交换机与ALPHA ENC28J60,在拨码开关中,将10拨上;

3、将ALPHA MEGA328-U通过数据线连接上电脑

代码

/*
 基于DHCP的IP打印机
 
 该程序使用DHCP扩展以太网库
 以获得通过DHCP的IP地址和打印获得的地址。
 使用一个Arduino WIZNET以太网盾。
 
 创建122011年4月
 修改2012年4月9日
 由汤姆Igoe
 
 */
 
#include <SPI.h>
#include <UIPEthernet.h>
 
//下面控制器输入MAC地址。
//较新的以太网盾有印在贴纸上屏蔽一个MAC地址
byte mac[] = {  
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
 
//初始化以太网客户端库
//与服务器的IP地址和端口
//你要连接(80端口是HTTP默认):
EthernetClient client;
 
void setup() {
 //打开串口通信和等待端口打开:
  Serial.begin(9600);
  // 在Leonardo中,需要检查这个。
   while (!Serial) {
    ; //等待通讯串口连接,只被Leonardo需要
  }
 
  //启动以太网连接:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    //在执行上没有意义的,所以什么都不做:
    for(;;)
      ;
  }
  // 打印你本地的IP地址
  Serial.print("My IP address: ");
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
    // 打印的IP地址的每个字节的值:
    Serial.print(Ethernet.localIP()[thisByte], DEC);
    Serial.print("."); 
  }
  Serial.println();
}
 
void loop() {
 
}

具体操作

打开IDE的串口监视器,查看ENC28J60分配的IP地址,即为打印地址。

返回上一级

ocrobot/alpha/enc28j60/tutorial04.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1