Не решаемая для меня проблема, пока что?
- Войдите на сайт для отправки комментариев
Втр, 08/09/2015 - 22:19
Хотел к сайту заказчика привязать данные с датчиков ардуино, и вот только начал знакомиться с ним и сразу же проблема. Решил залить готовый скетч с библтотеками etherShield.h ETHER_28J60.h ну и вот что выдало.
Помогите начинающему ардуинщику, каким образом решаются такие проблемы
Версия ПО: 1.6.5
In file included from C:\Users\1\Documents\Arduino\libraries\etherShield/etherShield.h:25:0,
from _132.ino:1:
C:\Users\1\Documents\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:\Users\1\Documents\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 _132.ino:1:0:
C:\Users\1\Documents\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:\Users\1\Documents\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++. Это-ж не железка ругается, а компилятор. Где-то библиотеки не вставляются, или просто отсутствуют...
Самое простое - фрагмент с ошибкой вбить в поисковую строку ("все уже украдено до нас").
http://adatum.ru/rabota-arduino-nano-s-setevy-m-kontrollerom-enc28j60.html - вот, например...
Спасибо за ответ. С этого сайта я как раз и брал сам проект. Ошибку как оказалось я сам допустил при замене prog_char Я так понял компиляторы в разных версиях ПО Ардуино различаются?
Да, авторы периодически ломают совместимость, или выбрасывают то, что уже давно "deprecated" (а Вы просто не в курсе их планов). За этим либо надо следить постоянно, либо быть готовым периодически вставать на такие вот грабли при смене версии...