Möchte von meiner GUI, den kompletten inhalt der listbox jedesmal beim Drücken des Buttons Save an dem Arduino senden und ihn auf Sd speichern. ,d.h. jedesmal wird der jetzige inhalt der karte mit dem neuen von der lsitbox überschrieben.
Das zeilenweise senden des Listboxinhaltes der GUI an dem arduino habe ich folgendermaßen gelöst:
d.h. jede zeile besteht aus einem parametersatz der wie folgt aufgebaut ist z.b. 3;4;5;6
von der Arduino seite bekomme ich es nicht hin diese Parameter zeilenweise zu verabieten und sie in die Sd-karte zu speichern :(.
habe es folgendermaßen programmiert:
kann mir da bitte jemand helfen? warum das nicht klappt, hab alles ausprobiert, komme nicht weiter
Das zeilenweise senden des Listboxinhaltes der GUI an dem arduino habe ich folgendermaßen gelöst:
d.h. jede zeile besteht aus einem parametersatz der wie folgt aufgebaut ist z.b. 3;4;5;6
von der Arduino seite bekomme ich es nicht hin diese Parameter zeilenweise zu verabieten und sie in die Sd-karte zu speichern :(.
habe es folgendermaßen programmiert:
VB.NET-Quellcode
- if(!SD.begin(chipSelect))
- {
- Serial.println("No SD-card");
- return;
- }//end if Sd.begin
- //Serial.println("SD-card ok");
- //-----------überprüfen Datei da---------------------//
- // wenn ja= löscheu nd erstelle eine neue ,sonst//
- //wenn keine da, erstelle neue Datei//
- if(SD.exists("I2C.csv"))
- {
- SD.remove("I2C.csv");
- //Datei=SD.open("I2C.csv",O_CREAT | O_WRITE);
- //Datei.println("Anz_para ; Address ; Register ; Data ");
- //Datei.close();
- }//sd exists
- write_SD();
- //-----Funktion write-SD------//
- //wiederhole die schleife,solange ein Zeichen an Serialport anliegt
- //und Buffer nicht überschritten wird
- //wiederhole die schleife,solange ein Zeichen an Serialport anliegt
- //und Buffer nicht überschritten wird
- Datei=SD.open("I2C.csv,O_CREAT | O_WRITE");
- Datei.println("Anz_Parameter; Address; Register; Data");
- Datei.close();
- while((Serial.available()) && (index <50))
- {
- inByte = Serial.read();// lese aktuelles Zeichen ein
- //wenn kein enter kommt dann schriebe solange in Buffer,somit parameterzeile nicht vollständig
- if(inByte !=10)
- {
- Text[index]=inByte;
- Serial.println("array vor enter");
- Serial.println (Text);
- index++;//und indexposition erhöhen
- }//end if !=13
- //falls Enter ankkommt schreibe bufferinhalt in sd und init buffer für nächsten wert
- else
- {
- Datei=SD.open("I2C.csv",O_CREAT | O_WRITE);
- //Serial.println("enter");
- Serial.print(Text);
- Datei.print(Text);
- Datei.println();
- //close datei, damit inhalt gespeichert wird.
- Datei.close();
- //Serial.println("Stored");
- //init Buffer
- index=0;
- memset(&Text[0],0,sizeof(Text));//lösche inhalt
- //Serial.println("Nach init");
- Serial.print(Text);
- }//end else
- //falls Bufferüberläuft setze ihn zurück
- if(index==50)
- {
- Serial.println("Array overflow");
- index=0;
- memset(&Text[0],0,sizeof(Text));
- }//end if overflow
- }//end while
- }//end fu
kann mir da bitte jemand helfen? warum das nicht klappt, hab alles ausprobiert, komme nicht weiter