Arduino Mega Server

Модератор: Alex

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

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

Просто возьмите Ethernet Shield и все ваши проблемы исчезнут.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am

Re: Arduino Mega Server

Сообщение 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); };
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am

Re: Arduino Mega Server

Сообщение ser009 »

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

Просто возьмите Ethernet Shield и все ваши проблемы исчезнут.
У меня то линейка работает :) так что не мне не нужно не в чем разбираться.
А показать другим, что делать когда что-то не работает думаю не будет лишним
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

У меня то линейка работает :) так что не мне не нужно не в чем разбираться.
А я ответ написал не вам, а новоиспечённому адепту учения АМС. :)
Лев
Сообщения: 12
Зарегистрирован: Сб дек 08, 2018 7:04 pm

Re: Arduino Mega Server

Сообщение Лев »

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 - осталось его распиновку сопоставить.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am

Re: Arduino Mega Server

Сообщение ser009 »

Библиотека Ethernet -> используется при подключении w5100
Библиотека Ethernet2 -> используется при подключении w5500

Вы какой шилд используете?
Лев
Сообщения: 12
Зарегистрирован: Сб дек 08, 2018 7:04 pm

Re: Arduino Mega Server

Сообщение Лев »

w5500 использую
Вот компоненты, используемые в проекте и соединения
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am

Re: Arduino Mega Server

Сообщение 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); };
а вот это не трогайте, это не для ардуинщиков, это компилятор делает сам
Лев
Сообщения: 12
Зарегистрирован: Сб дек 08, 2018 7:04 pm

Re: Arduino Mega Server

Сообщение Лев »

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

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

Вариант с приобретением другого Ethernet Shield нерационален - у меня есть два комплекта Mega и w5500 - они прекрасно работают с примерами из Arduino IDE
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

С примерами идеально работает либо карта, либо етернет. Последний менять не хотите. Значит надо подгонять карт ридер. Я перепробовал 4 вида.
И уж если w5500 , то только етернет2.
SPI выводы запаивать вместе и садить на аппаратный раз,ем в середине платы. У карты можно назначить практически любой пин как CS. У етернета не пробовал.
И удаленно можно помочь с кодом. Подключать железо не получается)).
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить