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
String an Sub routine übergeben
10.03.2014, 09:54
Beitrag #1
String an Sub routine übergeben
Hallo, ich habe fogendes Problem:
Mein Programmcode:
#include <SD.h>

char FileName[] = "data.txt";

File myFile;

void setup() {
..
// intitalize SD card
Serial.print("Initializing SD card...");
pinMode(10, OUTPUT);
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}

void loop
{
String Str;
int i1, i2, i3.....
.
.
Str = String(i1)+';'+ String(i2)+';'+String(i3)...

SaveDataToSD(Str);
.
.
}

/**************************************************/
/* SaveData to SD card */
/**************************************************/
void SaveDataToSD(String TS){
// write to SD
myFile = SD.open(FileName, FILE_WRITE);

if (!myFile) {
// if the file didn't open, print an error:
Serial.println("error opening File");
}
else { // Write to SD
myFile.println(TS);
myFile.close
}

Bei dieser Variante liefert SD.open immer False.
Übergebe ich kein Argument oder nur einen kurzen Text, so gibt es auch keine Probleme.
Wo ist der Haken?

Gruß
Student
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.03.2014, 07:57
Beitrag #2
RE: String an Sub routine übergeben
Hallo Student,

mach mal zum Test aus
Code:
char FileName[] = "data.txt";
Code:
char * FileName = "data.txt";

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2014, 15:33
Beitrag #3
RE: String an Sub routine übergeben
(12.03.2014 07:57)rkuehle schrieb:  Hallo Student,

mach mal zum Test aus
Code:
char FileName[] = "data.txt";
Code:
char * FileName = "data.txt";

Grüße Ricardo

Hallo Ricardo,
die Änderungen brachten nicht den erhofften Erfolg.
Ich vermute, der Fehler wird durch den ÜbergabeString erzeugt.
Wird ein langer Stringer übergeben, dann liefert ..open = false.
z. B. timeStr = String(";TimeStamp:;");
timeStr = timeStr + RTC.year;
timeStr = timeStr +';';
timeStr = timeStr + RTC.month;
timeStr = timeStr +';';
timeStr = timeStr + RTC.day ;
timeStr = timeStr +';';
timeStr = timeStr + String(RTC.hour);
timeStr = timeStr +':';
timeStr = timeStr + RTC.minute;
timeStr = timeStr +':';
timeStr = timeStr + RTC.second;
SaveToSD(timeStr);

Bei kurzen Strings läuft es durch.
Ich werde wahrscheinlich alles auf Char pointer umstellen müssen.
Gibt es dazu Beispiele?
Gruß
Student
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2014, 16:17
Beitrag #4
RE: String an Sub routine übergeben
Moin,

ich denke es liegt eher an der Zusammensetzung des Strings timeStr.
Du packst bei diesem String immer ';' rein. Das geht mit Sicherheit schief. Versuch das mal auf deinem (win) - Pc . Dürfte auch nicht funktionieren.

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  String / HTTP Request Marc2014 1 4 Heute 18:48
Letzter Beitrag: Tommy56
  Ein als "const" deklariertes Array übergeben Retian 5 126 08.11.2016 18:39
Letzter Beitrag: Tommy56
  String zusammensetzen Mathias 13 546 01.09.2016 21:15
Letzter Beitrag: Mathias
  String-Array füllen? torsten_156 9 445 08.07.2016 20:07
Letzter Beitrag: amithlon
  String in EEPROM Speichern BennIY 2 415 27.06.2016 10:23
Letzter Beitrag: BennIY
  String - Buchstabenposition auswerten scritch 5 662 01.04.2016 16:25
Letzter Beitrag: rkuehle
  String nach UTF16 konvertieren (UTF-16) ThoEngel 0 300 20.02.2016 19:22
Letzter Beitrag: ThoEngel
Exclamation String Zerlegen in drei Variablen Wampo 4 847 28.12.2015 01:07
Letzter Beitrag: Wampo
  Integer nach Ascii-String ? itoa arduinofan 2 593 22.12.2015 15:34
Letzter Beitrag: arduinofan
  Umwandlung von Array in String Wampo 2 529 09.12.2015 21:58
Letzter Beitrag: Wampo

Gehe zu:


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