Fehler mit GSM Library

Hallo,

ich möchte die Library mit dem Nano nutzen.

hab bisher nur die Librarys eingebunden, und bekomme des nicht kompiliert.

Programm:

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
#include "call.h"
CallGSM call;
SMSGSM sms;

/*
char number[20];
byte stat=0;
int value=0;
int pin=1;
char value_str[5];
*/



void setup() {

  Serial.begin(9600);
  gsm.begin(9600);
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Und bekomme diese Fehlermeldung:

In file included from D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/SIM900.h:5:0,

                 from D:\Dateien\Dropbox\Arduino\Arduino\Projekt_Tueroeffner\Projekt_Tueroeffner.ino:1:

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/GSM.h:190:21: error: redeclaration of 'SoftwareSerial GSM::_cell'

      SoftwareSerial _cell;

                     ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/GSM.h:187:15: note: previous declaration 'HWSerial GSM::_cell'

      HWSerial _cell;

               ^

exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.

Ich verstehe auch nicht warum er den _cell doppelt einbinden möchte.

Falls es hilft nochmal die Zeilen aus der GSM.h:

protected:
#ifdef MEGA
     HWSerial _cell;
#endif
#ifdef UNO
     SoftwareSerial _cell;
#endif
     int isIP(const char* cadena);

Ich hoffe mir kann jemand einen Tipp geben, wie ich dort weiter komme.Vielen Dank schonmal.

MfG

Nico

GSM.h (7.9 KB)

Nimm mal die Definition von "SoftwareSerial" wieder raus, das wir schon in der Library erledigt.
So steht es auch in der Fehlermeldung.

Hallo,

habe ich auch schon probiert, macht leider keinen Unterschied.

treckerfahrer31:
Hallo,

habe ich auch schon probiert, macht leider keinen Unterschied.

Das hilf nun absolut nicht weiter.

Was kommt den dann für eine Fehlermeldung.

Mann darf natürlich die Fehler nicht wieder einbauen, das führt dich und uns in die Irre.

Und du solltest mal alle Libraries aus der Definition entfernen und diese wieder nach und nach wieder einbauen.
Jedes mal auf Fehler prüfen.

Dabei frage ich, ob du auch wirklich alle Libraries brauchst ?

Und eine GSM.h die er anmeckert, finde ich in deinem Sketch nicht.

Hallo, die GSM.h wird von dem SIM900 mit eingebunden.

und wenn ich die Librarys entferne und nur eine habe, kommt auch immer wieder der gleiche Fehler.

Bsp.1:

#include "sms.h"
//#include "call.h"
//CallGSM call;
//SMSGSM sms;

/*
char number[20];
byte stat=0;
int value=0;
int pin=1;
char value_str[5];
*/



void setup() {

  Serial.begin(9600);
  //gsm.begin(9600);
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Fehler:

In file included from D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/SIM900.h:5:0,

                 from D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/sms.h:4,

                 from D:\Dateien\Dropbox\Arduino\Arduino\Projekt_Tueroeffner\Projekt_Tueroeffner.ino:2:

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/GSM.h:190:21: error: redeclaration of 'SoftwareSerial GSM::_cell'

      SoftwareSerial _cell;

                     ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/GSM.h:187:15: note: previous declaration 'HWSerial GSM::_cell'

      HWSerial _cell;

               ^

exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.

Bsp.2:

//#include "sms.h"
#include "call.h"
//CallGSM call;
//SMSGSM sms;

/*
char number[20];
byte stat=0;
int value=0;
int pin=1;
char value_str[5];
*/



void setup() {

  Serial.begin(9600);
  //gsm.begin(9600);
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Fehler:

In file included from D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/SIM900.h:5:0,

                 from D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/call.h:4,

                 from D:\Dateien\Dropbox\Arduino\Arduino\Projekt_Tueroeffner\Projekt_Tueroeffner.ino:3:

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/GSM.h:190:21: error: redeclaration of 'SoftwareSerial GSM::_cell'

      SoftwareSerial _cell;

                     ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD/GSM.h:187:15: note: previous declaration 'HWSerial GSM::_cell'

      HWSerial _cell;

               ^

exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.
#include "SIM900.h"


//habe ich jetzt entfernt, da von sms, sowie call auch eingebunden wird

Letztendlich landet er dadurch immer wieder in der GSM.h in der, der Fehler auftritt.

SIM900.h (1.19 KB)

Dann ziehen beide #ifdef, was eigentlich nicht sein sollte.

Suche mal ob irgendwo #define MEGA und #define UNO steht. Davon sollte nur eins aktiv sein.

Gruß Tommy

Tommy56:
Dann ziehen beide #ifdef, was eigentlich nicht sein sollte.

Suche mal ob irgendwo #define MEGA und #define UNO steht. Davon sollte nur eins aktiv sein.

Gruß Tommy

Siehe, gsm.h im ersten Post, nur eins angewählt. (Zeile 4,5)

Habe auch versucht Zeile 187 aus der gsm.h auszuklammern, dann erhalte ich:

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In constructor 'HWSerial::HWSerial()':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:5:6: error: 'Serial1' was not declared in this scope

      Serial1.begin(9600);

      ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'void HWSerial::end()':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:15:6: error: 'Serial1' was not declared in this scope

      Serial1.end();

      ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'virtual void HWSerial::begin(long int)':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:28:6: error: 'Serial1' was not declared in this scope

      Serial1.begin(baud_rate);

      ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'int HWSerial::peek()':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:33:13: error: 'Serial1' was not declared in this scope

      return Serial1.peek();

             ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'virtual size_t HWSerial::write(uint8_t)':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:38:13: error: 'Serial1' was not declared in this scope

      return Serial1.write(byte);

             ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'virtual int HWSerial::read()':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:43:13: error: 'Serial1' was not declared in this scope

      return Serial1.read();

             ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'virtual int HWSerial::available()':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:48:13: error: 'Serial1' was not declared in this scope

      return Serial1.available();

             ^

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp: In member function 'virtual void HWSerial::flush()':

D:\Dateien\Dropbox\Arduino\Arduino\libraries\GSM-GPRS-GPS-Shield-GSMSHIELD\HWSerial.cpp:53:6: error: 'Serial1' was not declared in this scope

      Serial1.flush();

      ^

exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.