Страница 289 из 326

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 8:12 pm
Alex
Ser009, спасибо за ответ.
Смотрю я чем вы тут занимаетесь... Это примерно как начать изучение математики не с примера 2+2=4, а сразу с логарифмической линейки (и совместно соображать с какой стороны к ней подходить).

Просто возьмите Ethernet Shield и все ваши проблемы исчезнут.

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 8:19 pm
ser009
Если во время компиляции выбираете mega2560 тогда вот ваше условие:

Код: Выделить всё

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__)
  inline static void initSS()    { DDRB  |=  _BV(4); };
  inline static void setSS()     { PORTB &= ~_BV(4); };
  inline static void resetSS()   { PORTB |=  _BV(4); };

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 8:26 pm
ser009
Alex писал(а): Вс дек 09, 2018 8:12 pm
Ser009, спасибо за ответ.
Смотрю я чем вы тут занимаетесь... Это примерно как начать изучение математики не с примера 2+2=4, а сразу с логарифмической линейки (и совместно соображать с какой стороны к ней подходить).

Просто возьмите Ethernet Shield и все ваши проблемы исчезнут.
У меня то линейка работает :) так что не мне не нужно не в чем разбираться.
А показать другим, что делать когда что-то не работает думаю не будет лишним

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 8:31 pm
Alex
У меня то линейка работает :) так что не мне не нужно не в чем разбираться.
А я ответ написал не вам, а новоиспечённому адепту учения АМС. :)

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 9:07 pm
Лев
Ser009, в файле w5500.h нашел код для ATmega2560
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__)
inline static void initSS() { DDRB |= _BV(4); };
inline static void setSS() { PORTB &= ~_BV(4); };
inline static void resetSS() { PORTB |= _BV(4); };
Долго сопоставлял по pinout для ATmega2560 BV(4) - не смог найти)
даже простое решение, что это 4-й pin неверно: на нем сидит SD

Не понимаю: в описании проекта GPIO D10 - Ethernet Shield (SS for Ethernet)
GPIO D4 - Ethernet Shield (SS for SD card) - 4-й пин и SD работает.

Hardware
--------
Arduino Mega 2560
Ethernet Shield
microSD card
отличается только Ethernet Shield - осталось его распиновку сопоставить.

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 9:13 pm
ser009
Библиотека Ethernet -> используется при подключении w5100
Библиотека Ethernet2 -> используется при подключении w5500

Вы какой шилд используете?

Re: Arduino Mega Server

Добавлено: Вс дек 09, 2018 9:15 pm
Лев
w5500 использую
Вот компоненты, используемые в проекте и соединения

Re: Arduino Mega Server

Добавлено: Пн дек 10, 2018 11:46 am
alexsis_76
Долго сопоставлял по pinout для ATmega2560 BV(4) - не смог найти
ну вы ребята даете стране угля, хоть мелкого но много
#define _BV(bit) (1 << (bit)) это макрос устанавливающий соответствующий бит в 1
~ инверсия
& и
| или
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__)
inline static void initSS() { DDRB |= _BV(4); };
inline static void setSS() { PORTB &= ~_BV(4); };
inline static void resetSS() { PORTB |= _BV(4); };
а вот это не трогайте, это не для ардуинщиков, это компилятор делает сам

Re: Arduino Mega Server

Добавлено: Пн дек 10, 2018 5:06 pm
Лев
В итоге:
1. Проблема либо аппаратная - я неправильно подключаю сетевую карту (распиновка)
2. Проблема программная: Ser009 давал наводку на библиотеки Ethernet. как вариант, в коде необходимо использовать только библиотеку Ethernet2, так как я использую w5500

Новоиспечённый адепт учения АМС просит помощи у великих Гуру)

Вариант с приобретением другого Ethernet Shield нерационален - у меня есть два комплекта Mega и w5500 - они прекрасно работают с примерами из Arduino IDE

Re: Arduino Mega Server

Добавлено: Пн дек 10, 2018 5:19 pm
serghei
С примерами идеально работает либо карта, либо етернет. Последний менять не хотите. Значит надо подгонять карт ридер. Я перепробовал 4 вида.
И уж если w5500 , то только етернет2.
SPI выводы запаивать вместе и садить на аппаратный раз,ем в середине платы. У карты можно назначить практически любой пин как CS. У етернета не пробовал.
И удаленно можно помочь с кодом. Подключать железо не получается)).