подключение Ethernet card.

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

Для начала, хочу попросить прощения за тему если повторная. 

Знаю-знаю, ардуино не оригинал и всё такое. Покупал спонтанно, нашёл случайно, и не разбираясь подделка или оригинал я просто заказал! Ну извините. не все углубляются при покупке. 

Но вообщем не суть.

 

Ошибка такая .

Arduino: 1.6.6 Hourly Build 2015/10/14 10:42 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\User\Desktop\arduino-nightly\libraries\ethercard\examples\rbbb_server\rbbb_server.ino: In function 'word homePage()':

rbbb_server:19: error: 'word homePage()' was declared 'extern' and later 'static' [-fpermissive]

 static word homePage() {

                      ^

rbbb_server:14: error: previous declaration of 'word homePage()' [-fpermissive]

   if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

      ^

exit status 1
'word homePage()' was declared 'extern' and later 'static' [-fpermissive]

  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки

 

Скетч такой.

// This is a demo of the RBBB running as webserver with the Ether Card
// 2010-05-28 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

#include <EtherCard.h>

// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
static byte myip[] = { 192,168,1,203 };

byte Ethernet::buffer[500];
BufferFiller bfill;

void setup () {
  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
    Serial.println(F("Failed to access Ethernet controller"));
  ether.staticSetup(myip);
}

static word homePage() {
  long t = millis() / 1000;
  word h = t / 3600;
  byte m = (t / 60) % 60;
  byte s = t % 60;
  bfill = ether.tcpOffset();
  bfill.emit_p(PSTR(
    "HTTP/1.0 200 OK\r\n"
    "Content-Type: text/html\r\n"
    "Pragma: no-cache\r\n"
    "\r\n"
    "<meta http-equiv='refresh' content='1'/>"
    "<title>RBBB server</title>" 
    "<h1>$D$D:$D$D:$D$D</h1>"),
      h/10, h%10, m/10, m%10, s/10, s%10);
  return bfill.position();
}

void loop () {
  word len = ether.packetReceive();
  word pos = ether.packetLoop(len);
  
  if (pos)  // check if valid tcp data is received
    ether.httpServerReply(homePage()); // send web page data
}

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Не понял, а в чём проблема? В чём Ваш вопрос? Вы не поняли сообщения компилятора?

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

Нет...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Функция homePage ранее была определена, причём не так, как у Вас. Переозовите её по-другому.

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015
Arduino: 1.6.6 Hourly Build 2015/10/14 10:42 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\Sazonova\AppData\Local\Temp\arduino_6d994beefcbbfa2fff405d591581581e\rbbb_server.ino: In function 'word hoe()':

rbbb_server:19: error: 'word hoe()' was declared 'extern' and later 'static' [-fpermissive]

 static word hoe() {

                 ^

rbbb_server:14: error: previous declaration of 'word hoe()' [-fpermissive]

   if (ether.begin(sizeof Ethernet::buffer, mymac,10) == 0)

      ^

C:\Users\Sazonova\AppData\Local\Temp\arduino_6d994beefcbbfa2fff405d591581581e\rbbb_server.ino: In function 'void loop()':

rbbb_server:42: error: 'homePage' was not declared in this scope

     ether.httpServerReply(homePage()); // send web page data

                                    ^

exit status 1
'word hoe()' was declared 'extern' and later 'static' [-fpermissive]

  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки




Arduino: 1.6.6 Hourly Build 2015/10/14 10:42 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\Sazonova\AppData\Local\Temp\arduino_2d1618e24e94083ea205e7e076e082b6\rbbb_server.ino: In function 'word homePage1()':

rbbb_server:19: error: 'word homePage1()' was declared 'extern' and later 'static' [-fpermissive]

   static word homePage1() {

                         ^

rbbb_server:14: error: previous declaration of 'word homePage1()' [-fpermissive]

   if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

      ^

exit status 1
'word homePage1()' was declared 'extern' and later 'static' [-fpermissive]

  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки

 

 

 

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015
Arduino: 1.6.6 Hourly Build 2015/10/14 10:42 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

rbbb_server:14: error: expected constructor, destructor, or type conversion before ';' token

   if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

        ^

rbbb_server:19: error: expected unqualified-id before numeric constant

 static word 000() {

             ^

exit status 1
expected constructor, destructor, or type conversion before ';' token

  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки

ничерта не понимаю((((

inspiritus
Offline
Зарегистрирован: 17.12.2012

Хмм ... А Вы светиком то мигать умеете ?

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

Умею.

Но если вопрос с подвохом. то отвечу прямо. ну Нуб я. ничего с этого не взять

inspiritus
Offline
Зарегистрирован: 17.12.2012

Я вот только в толк никак не возьму - для чего сообщения компиллятора оформлять как текст программы ?

конечно здорово, что ошибка такаятто, скетч сякой. А чего хотелось то? Вопрос получается широкий: у меня вааще ничего не получилось, что мне делать? 

Ответ тоже от всей души : учиться и потом задавать прицельные вопросы.

а с самоопределением "Нуб" дорога в "Ищу исполнителя"

кстати... На этой гавне вебсервер не делайте, возьмите w5100, а жабу придушите :)

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

Учится это конечно здорово. Но когда смотришь/читаешь что пишут.почему то у них скетч этот заливается и без ошибок. Исполнитель мне не нужен. Но, человеку который бы смог подсказать и объяснить я буду очень рад. Я не могу понять почему скетч не заливается и "гугл" мне не помог. Первым делом я в него и полез, так-как знаю что такое форумы и что простой вопрос может перерости в целую дискуссию. Что лучше а что нет и что кому нужно. Дело не в жабе. Заказал данную плату потому что увидел такую в ролике... сервер для самых простых нужд . И хотелось бы собрать на том что есть. А не узнать на чем лучше.

nevkon
Offline
Зарегистрирован: 20.01.2015

Не вижу объявления ether. Откуда он берется?

И еще. Среда 1.6.6 не бета случаем?

зы. Специально проверил, стабильная 1.6.5

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

1.6.6 бета. Скетч почти как изначально скинул. За исключением homePage переименовал в 000

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

Дойду до работы проверю 1.6.5. Спасибо за совет ;)

Faraday
Faraday аватар
Offline
Зарегистрирован: 15.10.2015

Все заработало на версии 1.6.5 большое спасибо !!))

sergiocharm
Offline
Зарегистрирован: 01.02.2016

у меня такая ситуация я скетч ТС заливаю а подключаю ардуино и w5100 и нихера не получается, что делать?

inspiritus
Offline
Зарегистрирован: 17.12.2012

Адын савэт. Enc фтоппку. Долго жаба меня побуждала с этим подружиться. Несмогла ( спонтанные зависания обмена задолбали). Перешел полностью на W5100. Чего и Вам желаю.