не происходит соединения с IteadStudio Ethernet shield 1.0

std
Offline
Зарегистрирован: 05.01.2012

шилд такой:

в описании говорится что он понимает уровни как 5В так и 3.3В. пишу стандартный скетч WebServer, делающий сервер 192.168.1.177:80 с маком DE:AD:BE:EF:FE:ED.

в сериал мониторе приходит "server at 192.168.1.177" и все. в тот самый момент когда я ломлюсь браузером на этот адрес, судя по программе должно прийти "new client" в сериал, показания шести АЦП в виде HTML в браузер. но не тут то было, тютю.

микросхема на шилде греется. не конкретно, но так ощутимо.

на сайте Arduino в туториалах грустная напись SORRY, There is an error at our code repository, please inform to web@arduino.cc

паника. полный разгром. epic fail.

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

leshak
Offline
Зарегистрирован: 29.09.2011

Круто. Все посморели на картинку и сразу "опознали что это за зверь". А ссылочку дать? В какую плату втыкали - тоже не ведомо (UNO/Mega - тоже есть разница).

Cудя по всему он на enc28j60 чипе, а не wiznet-товоском. Так что "стандартные арудино библиотеки", "стандартный сервер и т.п." - забудте.

Вот например ветка с обсуждениями гимороев по этому поводу http://arduino.ru/forum/apparatnye-voprosy/problema-s-enc28j60arduino-0

Там и ссылки на библиотеки найдутся (и самому поискать можно). Но поперебирать/поискать что же у вас заработает - прийдется. Не раз еще в гугл про этот чип спросите (если я не ошибся, вам виднее что там написанно).

Да и на этом сайте - не одна ветка про него (поиск в верхнем правом углу).

Вообщем добро пожаловть в когорту тех кто повелся на "Жадный, как все чатлане... на два чатла дешевле, на два чатла дешевле..." (без обид, я тоже из этого списка ;)

leshak
Offline
Зарегистрирован: 29.09.2011

Хотя, возможно зря вас пугал. Гугл говорит есть шилд с похожим названием (и похож по фотке) и на W5100, и на en28j60.

Вообщем пока вы не скажете что у вас за шилд (на каком чипе) и куда вы пытаетесь его воткнуть (в какую плату) - смысла что-то советовать особо нема (нет). Возможно вам повезло.

Вообщем читайте что у вас там на микрухе написано (а еще лучше - сразу ссылку на доку шилда). Но хотя-бы "имя".

ustas
Offline
Зарегистрирован: 12.03.2012

Там W5100 - вот спецификация: ftp://imall.iteadstudio.com/Shield/IM120911007/DS_IM120911007_W5100_Ethernet_Shield.pdf

P.S. самого шилда у меня нет, прото видел фото этого и запомнил, где :)

leshak
Offline
Зарегистрирован: 29.09.2011

ustas пишет:

Там W5100 - вот спецификация: ftp://imall.iteadstudio.com/Shield/IM120911007/DS_IM120911007_W5100_Ethernet_Shield.pdf

P.S. самого шилда у меня нет, прото видел фото этого и запомнил, где :)

Я находил эту ссылку. Только желательно что-бы ответил топик-стартер. Во первых что-бы убедитися что "оно вообще ему нужно", во вторых мне вначале попались ссылки на модуль с таким-же фото, но на enc.

std
Offline
Зарегистрирован: 05.01.2012

сорри за кипиш all

сеть на w5100. просто он переключается между сетью и флешкой с 4 и 10 выводов дуины.

сам дурак когда узнал про эту тему с выбором, думал что надо поставить в 4 ноль а в 10 единицу, оказалось что надо наоборот. короче вполне очевидные грабли.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

std пишет:

сеть на w5100. просто он переключается между сетью и флешкой с 4 и 10 выводов дуины.

И это еще не все! Шилд (точнее, библа) не может работать одновременно и с сетью и с флешкой, только поочереди. Собираюсь библиотеку пилить - мне надо одновременно.

maksim
Offline
Зарегистрирован: 12.02.2012

В каком смысле одновременно?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

В смысле, поднят UDP или HTTP сервер и, скажем, при этом открыт файл на флешке.

maksim
Offline
Зарегистрирован: 12.02.2012

Ну а если так: подняли сервер,  SS шилда вверх, SS карты вниз, открыли файл, SS шилда вниз, SS карты вверх ну и т.д. Не пробовали?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Это не вариант. Вот кусочек из ethernet:

uint16_t W5100Class::read(uint16_t _addr, uint8_t *_buf, uint16_t _len)
{
  for (uint16_t i=0; i<_len; i++)
  {
    setSS();
    SPI.transfer(0x0F);
    SPI.transfer(_addr >> 8);
    SPI.transfer(_addr & 0xFF);
    _addr++;
    _buf[i] = SPI.transfer(0);
    resetSS();
  }
  return _len;
}

И в библиотеке для CD:

void Sd2Card::chipSelectHigh(void) {
  digitalWrite(chipSelectPin_, HIGH);
}
//------------------------------------------------------------------------------
void Sd2Card::chipSelectLow(void) {
  digitalWrite(chipSelectPin_, LOW);
}

То есть эти пины они дергают исключительно сами и могут это сделать в прерывании... Даже если не будет накладок, неплохо предусмотреть взаимную блокировку (я, скажем, SPI и в других местах пользую...)