Arduino 扩充版 W5100 - EEPROM 烧录

Arduino W5100 是一块含有网路及EEPROM功能的扩充版. 笔者在之前的文章中曾提过可以直接使用Arduino leonardo 或MEGA2560 系列做为主板直接去控制

在某些专案的设计上可能会希望这块扩充版可以随时被抽换, 抽换的原因是可能直接读取烧录在EEPROM的中的网路层的资讯就可以直接使用

以下是EEPROM中读取出来的资料

通常EEPROM的烧录都是以覆盖的方式进行, 所以在写入不完全的情况下, 很可能会读取到之前烧录的资料.

  1. 定义要写进去的网路层资讯及清除EEPROM
void setup() {
    byte mac[6] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
    byte ip[4] = { 192, 168, 50, 100 };
    byte dns[4] = { 8, 8, 8, 8 };
    byte gw[4] = { 192, 168, 50, 1 };
    byte subnet[4] = { 255, 255, 255, 0 
  };
  // clear EEPROM
  for (int i = 0 ; i < EEPROM.length() ; i++) {
    EEPROM.write(i, 0);
  }
      }
  1. 烧录
NetEeprom.writeManualConfig(mac, ip, subnet,gw,dns);

笔者是使用NETEEPROM 这个library 做烧录
NETEEPROM连结
缺点: NETEEPROM 最多只有支援ip/ dns/ gateway/ subnet 的烧录型态. 如果要多个项目 就需要自行增加

参考资料:


<<:  Seagate希捷外接式硬碟机无响应/无法读取/没有回应?

>>:  Day 29 - 回传值

那些被忽略但很好用的 Web API / ImageCapture

疫情时代,视讯串流当头,用视讯镜头来做个线上摄影吧! 自从疫情爆发後,各行各业也开始进行居家办公,...

Day5 DCS 分散控制系统

基本介绍 DCS 分散控制系统(Distributed Control System):不需要有中...

Day 28 : C语言 - 如何解决用scanf连续输入时,程序会自动断行的问题?

如标题,scanf是一个「动态输入」的函数,你可以先宣告一个变数a,再用scanf输入,赋予它任意值...

[Day23] Infrastructure as code

昨天介绍的 Deployment Manager 可以透过 GUI 与 Command Line 的...

Leetcode: 100. Same Tree

有两个二元树,怎麽检查两个树是不是一样的。 思路 一路Traversal下去 程序码 class S...