Не работает ethernet модуль ENC28J60

MrFielder
Offline
Зарегистрирован: 13.12.2019

Добрый день.

Заказал с aliexpress шилды на базе ENC28J60. Ссылка: https://www.aliexpress.com/item/32665342988.html Ставлю их "бутербродом" на arduino nano. Заливаю скетч:

#include <UIPEthernet.h> // Used for Ethernet

// **** ETHERNET SETTING ****
byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };                                      
IPAddress ip(192, 168, 1, 179);                        
EthernetServer server(80);

void setup() {
  Serial.begin(9600);

  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();

  Serial.print("IP Address: ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();

  if (client)
  {  
    Serial.println("-> New Connection");

    // an http request ends with a blank line
    boolean currentLineIsBlank = true;

    while (client.connected())
    {
      if (client.available())
      {
        char c = client.read();

        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank)
        {
          client.println("<html><title>Hello World!</title><body><h3>Hello World!</h3></body>");
          break;
        }

        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r')
        {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }

    // give the web browser time to receive the data
    delay(10);

    // close the connection:
    client.stop();
    Serial.println("   Disconnected\n");
  }
}

Данный скетч не работает. Брал его вместе с библиотекой со страницы: https://www.tweaking4all.com/hardware/arduino/arduino-enc28j60-ethernet/

Пробовал другие библиотеки и скетчи с этой же страницы. Подключал данный шилд к UNO пинами: GND, +5, +3.3, D10,11,12,13. Также не работает. Таких шилдов было заказано 3 шт. пробовал со всеми - результат нулевой. Также перепробовал несколько разных NANO. Самое странное что при использовании UIPEthernet в монитор порта не приходит никаких сообщений, хотя есть команды Serial.print. Когда эту библиотеку убрал - всё работает корректно. Допускаю, что китаец мог прислать бракованые шилды, но чтобы все три сразу - маловероятно.

В чем может быть проблема?

sadman41
Offline
Зарегистрирован: 19.10.2016

Библиотека "от производителя": https://github.com/ntruchsess/arduino_uip/tree/fix_errata12 , экзамплы прилагаются.

MrFielder
Offline
Зарегистрирован: 13.12.2019

Тот же результат. Под библиотеку выкачал arduino 1.0.4.

sadman41
Offline
Зарегистрирован: 19.10.2016

Значит надо в железку прибором тыкать.

MrFielder
Offline
Зарегистрирован: 13.12.2019

С чего посоветуете начать? Обычным мультиметром без осциллографа смогу проверить?

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну, так... только на замыкание/размыкание. 

Начинайте с выяснения куда D0/D1 уходят на шилде. Напряжение питания измерьте на чипе... В принципе - надо понять что происходит на SPI интерфейсе у ENC.