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 -> Char *gelöst* Binatone 2 173 31.01.2017 11:08
Letzter Beitrag: Binatone
  ascii string to int array konvertieren renid55 3 174 29.12.2016 11:49
Letzter Beitrag: Tommy56
  String / HTTP Request Marc2014 4 277 23.12.2016 15:42
Letzter Beitrag: Tommy56
  Ein als "const" deklariertes Array übergeben Retian 5 192 08.11.2016 18:39
Letzter Beitrag: Tommy56
  String zusammensetzen Mathias 13 955 01.09.2016 21:15
Letzter Beitrag: Mathias
  String-Array füllen? torsten_156 9 600 08.07.2016 20:07
Letzter Beitrag: amithlon
  String in EEPROM Speichern BennIY 2 566 27.06.2016 10:23
Letzter Beitrag: BennIY
  String - Buchstabenposition auswerten scritch 5 721 01.04.2016 16:25
Letzter Beitrag: rkuehle
  String nach UTF16 konvertieren (UTF-16) ThoEngel 0 374 20.02.2016 19:22
Letzter Beitrag: ThoEngel
Exclamation String Zerlegen in drei Variablen Wampo 4 1.025 28.12.2015 01:07
Letzter Beitrag: Wampo

Gehe zu:


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