ENC28J60 Enternet

NySerg
NySerg аватар
Offline
Зарегистрирован: 30.06.2013
Здравствуйте.
Помогите разобраться с модулем ENC28J60 Enternet, при загрузке скетча(rbbb_server) в МЕГУ 2560 не подключается к странице с указанным myip, в моем случае 192.168.1.222, пробовал и другие. Пины подключил правильно (CS - Pin10). Я так понимаю проблема в МАК:
   
// This is a demo of the RBBB running as webserver with the Ether Card
// 2010-05-28 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

#include <EtherCard.h>

// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x54,0x04,0xA6,0x5D,0x88,0xD4 }; 
static byte myip[] = { 192,168,1,222 }; // 192.168.1.222

byte Ethernet::buffer[500];
BufferFiller bfill;

void setup () {
  if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0)
    Serial.println(F("Failed to access Ethernet controller"));
  ether.staticSetup(myip);
}

static word homePage() {
  long t = millis() / 1000;
  word h = t / 3600;
  byte m = (t / 60) % 60;
  byte s = t % 60;
  bfill = ether.tcpOffset();
  bfill.emit_p(PSTR(
    "HTTP/1.0 200 OK\r\n"
    "Content-Type: text/html\r\n"
    "Pragma: no-cache\r\n"
    "\r\n"
    "<meta http-equiv='refresh' content='1'/>"
    "<title>RBBB server</title>" 
    "<h1>$D$D:$D$D:$D$D</h1>"),
      h/10, h%10, m/10, m%10, s/10, s%10);
  return bfill.position();
}

void loop () {
  word len = ether.packetReceive();
  word pos = ether.packetLoop(len);
  
  if (pos)  // check if valid tcp data is received
    ether.httpServerReply(homePage()); // send web page data

 

Кто знает что это значит - мак адрес должен быть уникальный для нашей сети?
Куда его прописывать? в роутер? Это тот что предоставляет мне мой интернет провайдер? - пробовал не работает.
Может кто сталкивался с такой проблемой?
bsdshneg
Offline
Зарегистрирован: 21.10.2014

Что при этом тебе в сериал пишет?

Мак на самом деле вряд-ли может быть причиной, и указан может быть любой, главное чтоб не пересекался с маками в данной подсети!

Глянь в сериал порт, может он вообще не пожет проинициализировать модуль.

У меня заводилось без проблем, единственное, питать его желательно не от ардуины, а от чего-нить внешнего, т.к. может быть просадка по питанию, а этот модуль очень к этому чувствителен!

NySerg
NySerg аватар
Offline
Зарегистрирован: 30.06.2013

Блин, я протупил. Не работало из-за неправильного подключения к МЕГЕ, я не учел разницы в выводах SPI для МЕГИ. Всё заработало. Спасибо за внимание!!!

bsdshneg
Offline
Зарегистрирован: 21.10.2014

И про возможность просадки питания всёж не забывай .. у меня из-за этого модуль отваливался каждые 30-180 минут ... рандомно .. не мог понять в чём дело )))