Salve a tutti, ho comprato uno shield gsm e ora vorrei provare ad inviare il primo sms di prova.
Ho scaricato la libreria da http://labs.arduino.cc/GPRS/Library e aprendo il file di prova "TestGSMLibrarySMS" ho una marea di errori dopo che premo il pulsante "verifica", anche se non ho ancora modificato nessuna riga
Le prime righe di errore che mi appaiono sono:
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:10: error: ISO C++ forbids declaration of 'NewSoftSerial' with no type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:10: error: expected ';' before '*' token
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:14: error: 'boolean' does not name a type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:21: error: expected `)' before '&' token
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:24: error: 'boolean' has not been declared
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:29: error: 'boolean' does not name a type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:32: error: 'boolean' does not name a type
In file included from C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/QuectelM10.h:4,
Ho provato ad aprire il file WideTestFinder.h ma non capisco dove siano gli errori, inoltre dopo quelli che ho incollato ho la segnalazione di altri errori,eppure mi sembra strano che un file di esempio abbia tutti questi problemi .... come posso fare?
Grazie per l'aiuto!
cmq penso che quella libreria era x l'ide <1.0..
devi sostituire qualche include con include<Arduino.h>,xò nn mi ricordo quale..
EDIT:qlk ha risposto mentre scrivevo..
cmq ti conviene comprare roba da ebay,quando da seeedstudio costa di meno?
CERCANDO con google,vedi che in GENERALE,quando vuoi usare una libreria scritta per ide<1.0 su ide>=1.0, devisostituire #include <WProgram.h> con #include <Arduino.h>
Scusami, hai perfettamente ragione, dovevo chiedere prima a google
Ora la maggior parte degli errori sparisce, ma ne rimane qualcuno del tipo
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:11: error: ISO C++ forbids declaration of 'NewSoftSerial' with no type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:11: error: expected ';' before '*' token
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:22: error: expected `)' before '&' token
In file included from C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/QuectelM10.h:4,
        from TestGSMLibrarySMSProva.cpp:1:
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/GSM.h:21: error: 'NewSoftSerial' does not name a type
Cercando su google (spero di aver imparato la lezione xD) ho visto che devo sostituire la libreria NewSoftSerial.h con la più aggiornata SoftwereSerial.h, fatto questo però in questo modo mi rimangono gli errori di sopra, nei post che ho letto invece il problema spariva dopo la sostituzione sopracitata ... qualche idea a riguardo?
diciamo che nell'arduino 1.0,la SoftwareSerial è la newSoftwareSerial dell'ide<1.0
quando hai scambiato questa libreria,haia nche cambiato il tipo nelle dichiarazioni?
...occhio anche ai nomi delle librerie che aggiorni, devi cambiare anche i nomi nel sw oltre che includerle (anche fisicamente).
non conosco quella libreria e non sò se usa la softserial o la newsoftareserial ma dal nome direi che la seconda è la più nuova.
mi sà che sei partito in ferrari senza neanche avere la patente...
Ho sostituito gli #include <NewSoftSerial.h> con #include<SoftwareSerial.h>, dopo ho pensato di cambiare anche tutte le dichiarazioni delle variabili di tipo NewSoftSerial in variabili di tipo SoftwareSerial ma aprendo la cartella SoftwareSerial nella cartella di libreria di Arduino ho trovato il file keywords.txt ho visto che NewSoftSerial era catalogata come parola chiave e quindi ho pensato che il tipo della variabile fosse ancora valido ... è una supposizione sbagliata? Devo cambiare tutti i tipi da NewSoftSeria a SoftwareSerial ?
Ho trovato una versione della libreria adatta al mio IDE e al SIM900, ora riesco a compilare tutto correttamente ma quando vado a fare l'upload su arduino ricevo il seguente messaggio:
avrdude: stk500_getsync(): not in sync: resp=0x00
Ho visto altri post e in questo http://arduino.cc/forum/index.php/topic,102785.0.html risolvono il problema semplicemente cambiando il TX e RX (penso intendendo sullo shield), ho provato la stessa soluzione ma continua a darmi l'errore di prima ... come posso fare?