Forum: PC-Programmierung Sensordaten speichern


von Michael Jung (Gast)


Lesenswert?

hallo...

folgendes Problem:
ich will die Messwerte von induktiven Näherungssensoren in einer
einfachen Textdatei oder einer Excel-Datei ablegen. Da die Sensoren
während der Messwerterfassung keine Verbindung zum PC haben, hab ich
die Daten auf dem Flash-Speicher eines uC gespeichert. Die
Programmierung und Ansteuerung der Sensoren über den uC erfolgt über
eine Basic ähnliche Programmiersprache, welche nur Datenfluss in eine
Richtung zulässt (PC -> uC). Der uC belegt die serielle Schnittstelle
COM1 am PC. Hab aber eine zweite serielle Schnittstelle am Prototyping
Board mit welcher ich die Messdaten dann wieder an den PC (COM2)
schicken will.

Also hab ich mir zusätzlich noch ein C-Programm geschrieben, welches
den COM2-Port öffnet und die anliegenden Daten einließt. Mein Problem
ist es jetzt noch die Daten richtig aufzuspalten. Im Flash-Speicher des
uC werden die Messwerte als Array abgelegt. Wenn die Daten jetzt vom uC
an COM2 ausgegeben werden liegen die Messwerte ja in einer Reihe an.

Wie kann ich die einzelnen Messwerte rausfiltern oder den
Ausgabedatenstrom aufspalten???

Danke schon im Voraus...

von harry (Gast)


Lesenswert?

hi,
ein eindeutiges trennzeichen mitspeichern, z.b. "*", kommt nie in
einem messwert vor.
gruss, harry

von Michael Jung (Gast)


Lesenswert?

yup... werd ich mal versuchen... allerdings ist mir nicht ganz klar, wie
ich mit c eine Ausgabe in eine Excel-Tabelle machen kann?? Das
Trennzeichen am Ende von jedem Wert kann man ja dann gleich dazu
hernehmen, damit Excel jeden Messwert in eine neue Zeile schreiben
kann...

Ist es sehr aufwendig unter c die Ausgabe in eine Excel-Tabelle zu
programmieren?? Bisher werden die Daten immer nur in eine Text-Datei
ausgegeben...

von Michael Jung (Gast)


Lesenswert?

also... irgendwelche Zeichen an die Daten anhängen funktioniert nicht,
da es in der Programmiersprache keinen Befehl dazu gibt. Man kann zwar
Werte zu Strings addieren jedoch nicht hinten anhängen.

Jemand noch ne andere Lösung parat??

gruss,
Michael

von Thorsten (Gast)


Lesenswert?

Kann man das Anhängen von Zeichen nicht mit dem folgenden Befehl machen
?

char *strncat(char *s1, char *s2, size_t n)

"concatenates up to "n" elements, not including the terminating
null, of "s2," into "s1." It then copies a null character onto the
end of s1. It returns s1."

Thorsten

von Thomas_v2.1 (Gast)


Lesenswert?

Also eine Möglichkeit eine Excel Datei zu erstellen:

Eine einfache Textdatei mit der Endung .xls erstellen. Um Daten in eine
neue Spalte zu schreiben reicht Excel ein Tabulator, also in C ein
"\t". Um eine neue Zeile zu beginnen ein Zeilenvorschub, also
"\n".
Funktioniert einwandfrei, lässt sich auch vorher mit den
Windows-Simpel-Editor simulieren. Also n paar Zahlen mit der
Tabulatortaste getrennt eintippen und dann alles mit xls-Endung
abspeichern.

Thomas

von Michael Jung (Gast)


Lesenswert?

@ Thomas

danke für deine Antwort. Wusste nicht das es so einfach geht die Daten
in ne Excel-Tabelle zu kriegen.. :)

Hab jetzt auch ne halbwegs gute Lösung gefunden, mit dieser
basicähnlichen Sprache Zeichen an die Werte anzuhängen.. Danke für eure
Hilfe.

Gruss,
Michael

von Martin Hunzelmann (Gast)


Lesenswert?

Hallo Michael!!
Haben an unserer FH im Rahmen unserer Projektabeit eine ähnliche
Aufgabenstellung bekommen. Wären sehr dankbar, wenn du uns eine
Zusammenfassung oder Ähnliches von deinem Projekt schicken könntest.
Vielen Dank im Voraus.
MfG Martin Hunzelmann, Sigi Wolf, Christoph Kirnstötter.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.