Arduino UNO+ENC28J610+SD Card Module

Тема в разделе "Arduino & Shields", создана пользователем Ser8191, 10 июн 2016.

  1. Ser8191

    Ser8191 Нерд

    Уважаемые гуру, подскажите или ткните в хорошую статью где описано подключение этого всего вместе.
    Мне нужно зайти на адрес, открывается страничка с текстом, а картинка грузится с SDкарты.
     
  2. Ser8191

    Ser8191 Нерд

    Код (C++):
    #include "etherShield.h"
    #include "ETHER_28J60.h"
    static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};  
    static uint8_t ip[4] = {192, 168, 1, 15};                    
    static uint16_t port = 80;                                  
    ETHER_28J60 ethernet;
    void setup()
    {
      ethernet.setup(mac, ip, port);
    }
    void loop()
    {
      if (ethernet.serviceRequest())
      {
        ethernet.print("<H1>Hello World</H1>");
        ethernet.respond();
      }
      delay(100);
    }
    Этот пример не работает у меня.
    Arduino: 1.6.9 (Windows 7), Плата:"Arduino/Genuino Uno"

    ВНИМАНИЕ: Категория '' в библиотеке UIPEthernet не является действительной. Установка на 'Uncategorized'
    In file included from C:\Program Files (x86)\Arduino\libraries\etherShield/etherShield.h:25:0,

    from C:\Users\Sergs\Documents\Arduino\sketch_jun10b\sketch_jun10b.ino:1:

    C:\Program Files (x86)\Arduino\libraries\etherShield/ip_arp_udp_tcp.h:32:66: error: 'prog_char' does not name a type

    extern uint16_t fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);

    ^

    C:\Program Files (x86)\Arduino\libraries\etherShield/ip_arp_udp_tcp.h:32:77: error: ISO C++ forbids declaration of 'progmem_s' with no type [-fpermissive]

    extern uint16_t fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);

    ^

    In file included from C:\Users\Sergs\Documents\Arduino\sketch_jun10b\sketch_jun10b.ino:1:0:

    C:\Program Files (x86)\Arduino\libraries\etherShield/etherShield.h:34:65: error: 'prog_char' does not name a type

    uint16_t ES_fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);

    ^

    C:\Program Files (x86)\Arduino\libraries\etherShield/etherShield.h:34:76: error: ISO C++ forbids declaration of 'progmem_s' with no type [-fpermissive]

    uint16_t ES_fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);

    ^

    C:\Users\Sergs\Documents\Arduino\sketch_jun10b\sketch_jun10b.ino: In function 'void loop()':

    C:\Users\Sergs\Documents\Arduino\sketch_jun10b\sketch_jun10b.ino:19:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

    ethernet.print("<H1>Hello World</H1>");

    ^

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  3. ZAZ-965

    ZAZ-965 Гуру

    Ser8191, библиотека EtherShield уже пять лет не разрабатывается и не поддерживается, о чем большими буквами написана на ее гитхабе. Ее форк Ethercard https://github.com/jcw/ethercard собирается и по отзывам на форуме работает.
     
  4. Ser8191

    Ser8191 Нерд

    Да, спасибо. С этим разобрался.
    Как подключить модуль SD карты, он использует те-же пины, 10,11,12,13