www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Excel-kompatible Daten


Autor: Thomas Strauß (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich möchte Daten, die von einem Mikrocontroller mit 10bit AD-Wandler
gesammelt worden sind, Excel-kompatibel über die serielle Schnittstelle
senden. Die Daten gehen über ein (von mir gelötetes) Mikrophon-Kabel
und einen 9poligen Stecker an die COM1-Buchse (Maus-Buchse)an den PC.
Das ist kein Problem (läuft ganz ohne Protokoll);
die Daten sollen jetzt aber so formatiert werden, daß sie als txt-Datei
von Excel4.0,Excel für Windows95 (Version7.0) wie auch auf Excel2000
als Tabelle geladen und dann auch als Diagramm angezeigt werden
können.

Bei der Excel-Version7.0 für Windows95 habe ich mit dem DOS7.0-Editor
eine Test-Datei erzeugt, indem ich eingegeben habe:

1       3
2       27
3       50
4       1023

und dabei die Tastenkombination Alt und 9 anstelle des Tabulators
gedrückt.

Anschließend habe ich die kleine Datei mit dem Debugger 'gedampt'
debug Test.txt
-d

und bekomme dann folgenden Speicherinhalt:

31 09 33 0d 0a 32 09 32 37 0d 0a 33 09 35 30 0d 0a 34 09 31 30 32 33

so in etwa (vielleicht habe ich die Reihenfolge von 0d und 0a
vertauscht).

Dabei ist 31 z.B. die ASCII-codierte 1 (hier Proben-Nummer), 09 das
Steuerzeichen für Tabulator, 33 wieder die ASCII-codierte 3
(Proben-Wert) und 0d 0a sind die Steuercodes für Zeile-tiefer und
Wagenrücklauf.

Diese Datei konnte ich mit Excel für Windows95 (Version7.0)als
txt-Datei laden, wobei die Datenreihen in Spalten (wie im
Original)vorhanden sind. Daraus konnte ich dann ein Diagramm
machen(Punktediagramm oder Liniendiagramm oder beliebig).

Dieselbe mit DOS für Windows98 erzeugte Datei liegt im Speicher nicht
mit 09 als Trennzeichen vor, sondern mit
20h(siebenmal)=Leerzeichen(siebenmal); diese Datei konnte ich mit
Excel2000 mit der zweiten Option beim Laden der txt-Datei so laden, daß
auch daraus ein Diagramm gemacht werden konnte.

Meine Frage an Euch ist, ob Excel2000 auch mit dem Trennzeichen-Code
09 anstelle von 20h(Code für Leerzeichen)klar kommt?

Autor: Uwe Naumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach doch eine CSV-Datei mit ; als Feldtrenner anstelle Tabs/Spaces,
damit dürfte nicht nur Excel, sondern auch jede andere
Tabellenkalkulation klarkommen.

Autor: Frank Simon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
es geht leichter, indem Du ein VBA-Makro von Excel aus startest, die
ser. Schnittstelle abfragst und direkt in das Excel-Blatt schreibst.
Dann kannst Du beim Speichern das Format wählen und musst Dir die Hände
nicht selber schmutzig machen. Falls diese Möglichkeit für Dich in
Frage kommt, schau doch bei www.ioproz.de vorbei, dort ist diese
Möglichkeit in einem anderen Zusammenhang beschrieben. Dort gibt es
auch die iotrix.dll, die den Zugriff auf den Comport auch von VBA aus
ermöglicht.
Frohes Schaffen
Frank
PS: Ach ja, mit dem Schreiben von csv hatte ich bei Excel immer
Probleme. Excel reagiert z.B. beim Klicken auf Dateien registrierter
Dateitypen anders als beim Laden derselben Datei vom Programm aus.
Manchmal will es Kommas, manchmal Semikola. Warum bloß?

Autor: Uwe Naumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, Excel ist schon manchmal etwas seltsam.

Allerdings ist Excel nicht die einzig existierende Tabellenkalkulation.
Mit dem CSV-Format hält man sich alle Optionen der Weiterverarbeitung
offen. Auch Datenbanksysteme kommen meistens recht schmerzfrei mit CSV
klar. Andere Tabellenkalkulationen sowieso. Und ich meine auch systeme,
die nicht mal unter Windows laufen.

Gruß Uwe

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Bitte kein CSV, da hast du nur Ärger mit dem Komma(muss dann Punkt
sein)

Einfach als TXT speichern und den AVR Semikolon als Spaltentrenner,
Komma als normales Komma und Zeilenumbruch als $CR $LF.

Kann aus VB/VBA/... direkt gelesen werden, und ist beim Speichern als
.txt, sauber zu öffnen
zB.:

0,1;0,2;0,3;CRLF0,11;0,22;0,33;CRLF

wird als.txt zu

0,1;0,2;0,3;
0,11;0,22;0,33;

und kann im Excel sauber in Spalten importiert werden.
Wenn als .txt zu unübersichtlich, mache vor jeden Wert ein " "($20)

MFG Uwe

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.