Mega 2560 + W5500 не работает
- Войдите на сайт для отправки комментариев
Пнд, 03/04/2017 - 22:28
Всем здравствуйте!
Кратко: Mega 2560 + W5500 модуль (не шилд) не работает.
Я немного начинающий и возможно потому у меня возникла следующая проблема.
Не могу подружить мегу и указаный модуль (не шилд). Перепробовал, возможно, все библиотеки связанные с W5500.
Но работает с платой ардуино мини. В описании к библитекам, равно как и в оригинальной Ethernet, указано, что используются пины 10, 11, 12 и 13.
Судя по всему, это и есть причина бемолвности моего модуля. Я пытался найти в библиотеках упоминание номеров данных пинов, но нашел только 10 (SS вроде).
Помогите разобраться с данной проблемой кто в силах! И если вдруг выбрал не подходящую тему, то уж не серчайте )))
Заранее спасибо!
смотри описание пинов меги и работающей мини. наверно поймешь в чем дело .
судя по описанию надо на SPI присобачить а у меги это SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Посредством данных выводов осуществляется связь SPI, например, используя библиотеку SPI. Также выводы SPI могут быть выведены на блоке ICSP
Про номера пинов SPI на меге и нано я знаю. Модуль я подключил к данным пинам, но не работает. А при подключении к нано работает. Вот что есть в описании библиотек:
я и думал найти где в коде определяются номера пинов SPI, но не нашел....
К слову модуль я подключаю к роутеру TP-LINK 840N, напрямую к сетевой не имею возможности ввиду отсутствия оной. Может быть роутер не хочет модуль как-то регистрировать...
Смотрел и SPI.h на предмет упоминания пинов, но нет. Да и догадываюсь, что это происходит не простым указанием номера. Но и представить не могу, чтобы разработчики библиотек предусмотрели подключение только к платам на Атмеге328, типа уно, мини...
В дальних интернетах нашел едва ли не единственное упоминание примерно моей проблемы, но вроде и не то... Точнее еще с программной частью не разбирался, для уровня моего английского, там слегка запутано )
Подключите к правильным пинам, а не перназначайте их.
На меге разьем СПР продублирован возле ресета для таких плат.
подключиться к 50,51,52,53 и еще как Вариант проверить питание. Мега есть поболее мини может тупо питание проседает. Это апаратный СПР можно реализовать программный, но он гораздо медленее и ИМХО, что сеть на нем не взлетит тупо по скорости.
Знаю я где на меге находятся SPI пины. Прзванивал цепи от пина модуля до пина ардуино.
Из-за неудач с подключением думал, что, возможно, библиотека написана с явным указанием новером пинов SPI на уно. Ошибался.
Думал, может с роутером на так что-то. Подключал к другому, полурабочему (сгорел только WAN порт), то же самое.
Более того, у меня кроме модуля на W5500 есть enc28j60, с ним результаты такие же... Но его-то я может и спалил (он на 3,3, а я в 5 случайно воткнул).
В общем, чего я добился, так это сообщения:
server is at 0.0.0.0
server is at 255.255.255.255
Застопорился на месте с этой бедой. А главное, что на Атмеге 328 (нано) один модуль точно работал...
Проверь резистор 510 или 511 на выходе китайцы инода путают и вместо 50 ом ставят 500 и с многими роутерами такая плата неработает или работает на коротком шнурке. и что в вашем понятие не работает
поменяй библиотеку
Проверил свзяку: Mega 2560R3 + W5500 (как на картинке) + Dlink320NRU
50 (MISO)<->MISO
51 (MOSI)<->MOSI
52 (SCK)->SCLK
10 (SS)<->SCS
+ Power, Gnd
Работает.
P.S. Library: Ethernet2 by Various V. 1.0.4
Спасибо! А я вместо 10 пина на меге, пытался использовать 53. Потому и не работало. Хотя так до конца и не ясно, почему не используется 53 пин.
потому что в Ethernet2.h явно прописано:
EthernetClass() { _dhcp = NULL; w5500_cspin = 10; }
void init(uint8_t _cspin = 10) { w5500_cspin = _cspin; }
потому что в Ethernet2.h явно прописано:
EthernetClass() { _dhcp = NULL; w5500_cspin = 10; }
void init(uint8_t _cspin = 10) { w5500_cspin = _cspin; }
Спасибо! Отличное решение!