Не решаемая для меня проблема, пока что?
- Войдите на сайт для отправки комментариев
Втр, 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" (а Вы просто не в курсе их планов). За этим либо надо следить постоянно, либо быть готовым периодически вставать на такие вот грабли при смене версии...