INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ergebnis lässt sich nicht speichern?
30.08.2015, 16:01
Beitrag #1
Ergebnis lässt sich nicht speichern?
String autorisierteshandy = "5A020C";
String gefundeneshandy = "nix";

if (h >= 42) { // Langes ergebnis = Bluetooth Gerät gefunden
char *id = readSerial(h);
char *str;
while ((str = strtok_r(id, "\n", &id)) != NULL) {
if (strlen(str) - 1 > 17) { < alle ergebnisse ignorieren ausser handy id
String gefundeneshandy(str);
gefundeneshandy.remove(0, gefundeneshandy.indexOf(',') + 1);
Serial.println(gefundeneshandy);
if (gefundeneshandy.indexOf(autorisierteshandy) >= 0) {
autorisiert = 1;
}
}

Der Code funktionier gut, aber nach verlassen der while schleife ist das gefundeneshandy wieder wie ursprünglich "nix"...

Mir gelingt es nicht, den mit remove gekürzten String in der gefundeneshandy variable zu speichern.

Ein versuch mittels
gefundeneshandy = gefundeneshandy.remove(0, gefundeneshandy.indexOf(',') + 1);
zu speichern schlug fehl (compiler fehler)
ebenso wie viele andere Versuche...
Ich bin anfänger... hoffe Ihr könnt mir helfen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.08.2015, 17:01
Beitrag #2
RE: Ergebnis lässt sich nicht speichern?
Hallo schuballaa,
kann es sein, dass
Zitat:String autorisierteshandy = "5A020C";
String gefundeneshandy = "nix";
irgendwo oben beim setup() steht und
Zitat:if (h >= 42) { // Langes ergebnis = Bluetooth Gerät gefunden
char *id = readSerial(h);
char *str;
while ((str = strtok_r(id, "\n", &id)) != NULL) {
if (strlen(str) - 1 > 17) { // alle ergebnisse ignorieren ausser handy id
String gefundeneshandy(str);
gefundeneshandy.remove(0, gefundeneshandy.indexOf(',') + 1);
Serial.println(gefundeneshandy);
if (gefundeneshandy.indexOf(autorisierteshandy) >= 0) {
autorisiert = 1;
}
}
in einer eigenen Funktion?
Wenn ja ist es kein Wunder, denn gefundeneshandy wird zweimal deklariert, einmal oben und einmal in der Funktion? Die Variable oben wird garnicht angefasst und steht wahrscheinlich immer auf "nix".
Ist insgesamt Rätselraten, da ich weiß, dass du nicht den kompletten Code geschickt hast. So fehlen die Zusammenhänge und man erkennt nicht wirklich was du erreichen möchtest.Den Code auch besser mit dem "#"-Symbol eingrenzen, liest sich besser.
Du solltest folgenden Hinweis für strtok_r() beachten:
Zitat:Be cautious when using these functions. If you do use them, note that:
These functions modify their first argument.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.08.2015, 17:07 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2015 17:09 von hotsystems.)
Beitrag #3
RE: Ergebnis lässt sich nicht speichern?
So wie ich es sehe, setzt du die Variable doch am Anfang der loop wieder auf "nix".
Evtl. Stellst du mal den kompletten code rein, dann wird es auch übersichtlicher.

Edit:
Ok, Ricardo war schneller.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino lässt sich nicht installieren bergfrei 4 147 20.11.2016 18:34
Letzter Beitrag: bergfrei
  Arduino Mega 2560 läuft nicht Wolfgang50 6 185 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Ardublock übertragt nicht an IDE oder UNO R3 tobi83 5 347 16.10.2016 14:07
Letzter Beitrag: Pit
  Upload funktioniert nicht Levi 5 247 22.09.2016 20:19
Letzter Beitrag: hotsystems
  ESP8266 tuts nicht sowerum 7 396 19.09.2016 21:01
Letzter Beitrag: sowerum
  If-Bedingung funktioniert nicht bei Serial1.write Datatom 6 226 16.09.2016 20:36
Letzter Beitrag: Datatom
  Fehler beim Speichern von Projekten Manni66 16 688 23.08.2016 10:05
Letzter Beitrag: hotsystems
  SD Karte wird nicht erkannt... Maxi290997 2 208 16.08.2016 14:36
Letzter Beitrag: Maxi290997
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 984 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht Dubidu 8 489 20.07.2016 19:05
Letzter Beitrag: Scheams

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste