Ciao a tutti, spero di far giusto.
io sto cercando di creare un programma per la gestione di tutta la casa via arduino.. una delle cose che mi sta facendo diventare matto è un errore della libreria Ethernet.h. ho provato a caricare anche uno sketch dell'esempio della libreria ma l'errore rimane. è questo:
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp: In member function 'void EthernetClass::begin(uint8_t*, IPAddress, IPAddress, IPAddress, IPAddress)':
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:65:39: error: no matching function for call to 'W5100Class::setIPAddress(IPAddress::<anonymous union>&)'
W5100.setIPAddress(local_ip._address);
^
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:65:39: note: candidate is:
In file included from /Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:1:0:
/Users/Alberto/Documents/Arduino/libraries/Ethernet/w5100.h:392:6: note: void W5100Class::setIPAddress(uint8_t*)
void W5100Class::setIPAddress(uint8_t *_addr) {
^
/Users/Alberto/Documents/Arduino/libraries/Ethernet/w5100.h:392:6: note: no known conversion for argument 1 from 'IPAddress::<anonymous union>' to 'uint8_t* {aka unsigned char*}'
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:66:38: error: no matching function for call to 'W5100Class::setGatewayIp(IPAddress::<anonymous union>&)'
W5100.setGatewayIp(gateway._address);
^
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:66:38: note: candidate is:
In file included from /Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:1:0:
/Users/Alberto/Documents/Arduino/libraries/Ethernet/w5100.h:368:6: note: void W5100Class::setGatewayIp(uint8_t*)
void W5100Class::setGatewayIp(uint8_t *_addr) {
^
/Users/Alberto/Documents/Arduino/libraries/Ethernet/w5100.h:368:6: note: no known conversion for argument 1 from 'IPAddress::<anonymous union>' to 'uint8_t* {aka unsigned char*}'
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:67:38: error: no matching function for call to 'W5100Class::setSubnetMask(IPAddress::<anonymous union>&)'
W5100.setSubnetMask(subnet._address);
^
/Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:67:38: note: candidate is:
In file included from /Users/Alberto/Documents/Arduino/libraries/Ethernet/Ethernet.cpp:1:0:
/Users/Alberto/Documents/Arduino/libraries/Ethernet/w5100.h:376:6: note: void W5100Class::setSubnetMask(uint8_t*)
void W5100Class::setSubnetMask(uint8_t *_addr) {
^
/Users/Alberto/Documents/Arduino/libraries/Ethernet/w5100.h:376:6: note: no known conversion for argument 1 from 'IPAddress::<anonymous union>' to 'uint8_t* {aka unsigned char*}'
Qualcuno sa come risolverlo? vi ringrazio intanto.
Se non metti il codice che stai usando ... sarà difficile diagnosticare qualsiasi cosa ... :
Mi raccomando ... racchiuso negli appositi tag CODE come descritto al punto 7 del regolamento (il bottone è il primo a sinistra, quello fatto così : </>).
Che IDE usi? La libreria ethernet ufficiale è già nel core dell'IDE e quindi il percorso che si vede nell'errore che ti da è errato. In pratica questo: /Users/Alberto/Documents/Arduino/libraries/Ethernet/
Prova a togliere la cartella Ethernet da li (se non vuoi eliminarla del tutto, la sposti momentaneamente sul desktop) poi ricompili lo sketch e ti dovrebbe prendere quella che hai nel core... Se neanche così funziona riscarica l'IDE da capo.
ciao Marinaio67, ho provato ma lo stesso.. mi continua a dare gli stessi errori.. ho provato a cancellare le librerie ethernet, ricaricarla e copiarla di nuovo ma continua l'errore..
ora ho riscaricato arduino, riprovato a far partire lo sketch ma mi dice questo:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp: In member function 'int EthernetClass::begin(uint8_t*)':
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:19:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
In file included from /Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:1:0:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/utility/w5100.h:18:71: error: 'SPISettings' was not declared in this scope
#define SPI_ETHERNET_SETTINGS SPISettings(4000000, MSBFIRST, SPI_MODE0)
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:19:24: note: in expansion of macro 'SPI_ETHERNET_SETTINGS'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:22:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:30:9: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:34:9: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp: In member function 'void EthernetClass::begin(uint8_t*, IPAddress, IPAddress, IPAddress, IPAddress)':
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:68:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
In file included from /Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:1:0:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/utility/w5100.h:18:71: error: 'SPISettings' was not declared in this scope
#define SPI_ETHERNET_SETTINGS SPISettings(4000000, MSBFIRST, SPI_MODE0)
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:68:24: note: in expansion of macro 'SPI_ETHERNET_SETTINGS'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:73:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp: In member function 'int EthernetClass::maintain()':
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:89:13: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
In file included from /Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:1:0:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/utility/w5100.h:18:71: error: 'SPISettings' was not declared in this scope
#define SPI_ETHERNET_SETTINGS SPISettings(4000000, MSBFIRST, SPI_MODE0)
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:89:30: note: in expansion of macro 'SPI_ETHERNET_SETTINGS'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:93:13: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp: In member function 'IPAddress EthernetClass::localIP()':
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:107:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
In file included from /Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:1:0:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/utility/w5100.h:18:71: error: 'SPISettings' was not declared in this scope
#define SPI_ETHERNET_SETTINGS SPISettings(4000000, MSBFIRST, SPI_MODE0)
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:107:24: note: in expansion of macro 'SPI_ETHERNET_SETTINGS'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:109:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp: In member function 'IPAddress EthernetClass::subnetMask()':
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:116:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
In file included from /Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:1:0:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/utility/w5100.h:18:71: error: 'SPISettings' was not declared in this scope
#define SPI_ETHERNET_SETTINGS SPISettings(4000000, MSBFIRST, SPI_MODE0)
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:116:24: note: in expansion of macro 'SPI_ETHERNET_SETTINGS'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:118:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp: In member function 'IPAddress EthernetClass::gatewayIP()':
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:125:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
In file included from /Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:1:0:
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/utility/w5100.h:18:71: error: 'SPISettings' was not declared in this scope
#define SPI_ETHERNET_SETTINGS SPISettings(4000000, MSBFIRST, SPI_MODE0)
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:125:24: note: in expansion of macro 'SPI_ETHERNET_SETTINGS'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
^
/Users/Alberto/Downloads/Arduino.app/Contents/Java/libraries/Ethernet/src/Ethernet.cpp:127:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^
Più info.
Quale Arduino hai ?
Quale IDE hai scaricato ? Quale sistema operativo, windows, linux, mac ?
Domanda ovvia, ma... nell'IDE hai selezionata la board giusta ?
Appena provato con IDE 1.6.2 in ufficio da me e il codice che hai postato sopra mi compila (Win XP)