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?
Mach doch eine CSV-Datei mit ; als Feldtrenner anstelle Tabs/Spaces, damit dürfte nicht nur Excel, sondern auch jede andere Tabellenkalkulation klarkommen.
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ß?
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.