Forum: PC Hard- und Software Programm um virtuellen Com Port auszulesen und Daten in bmp schreiben


von Albert .. (albert-k)


Angehängte Dateien:

Lesenswert?

Hallo zusammen
Ich bin derzeit dabei Screenprints von meinem Oszilloskop auf den PC zu 
übertragen (das oszilloskop kann bmp verschicken). Hierfür habe ich mir 
mit einem ATmega16 einen Adapter gebaut, der die Daten von der 
Centronics Schnittstelle annimmt und per USB (über einen FT232) an den 
PC sendet. Dort werden die Daten auch korrekt empfangen. Ich erhalte 
einen Datenstrom der einem bmp entspricht (Header und Datenbereich sind 
korrekt und es sind keine Daten verloren gegangen).

Nun bin ich dabei aus diesem Datenstrom ein bmp zu generieren. Bisher 
mache ich dies über eine etwas umständliche Art und weise gemacht:

1. Datenstrom per hterm 0.8.1 empfangen
2. "Save output" auf ASCII ohne Timestamp stellen
3. Über "Save Output" das ganze in eine bmp datei speichern

Das funktioniert soweit auch ohne Probleme (im Anhang sieht man mal ein 
Beispiel was da ankommt). Nur ist mir das ganze etwas arg umständlich. 
Auf der Suche nach einen passenden Programm das den Empfang und das 
speichern übernimmt bin ich auf COM2File.exe (hier im Forum) gestossen. 
Dieses macht eigentlich genau das was ich will, nur unterstützt es 
leider keine 256kBaud (welche ich benötige um die Daten schnell genug 
weiterzuleiten).
Meine Frage ist nun ob jmd. ein PC Programm wie COM2File kennt, das auch 
256kBaud unterstützt?

Grüße
Albert

von Lukas K. (carrotindustries)


Lesenswert?

früher machte man sowas über die Ausgabeumleitung
1
type COMx > bild.bmp
vorher mit mode die Baudrate und so konfigurieren.

von Albert .. (albert-k)


Lesenswert?

HAllo
danke für die Antwort. Aber das ist in etwa genauso "umständlich" wie 
mein bisheriger Weg. Ich könnte das ganze zwar über ein batch File 
aufrufen wo schon die Parametrierung etc. drin ist. Aber trotzdem noch 
aufwendig über die Konsole zu arbeiten.

von Lukas K. (carrotindustries)


Lesenswert?

Albert ... schrieb:
> HAllo
> danke für die Antwort. Aber das ist in etwa genauso "umständlich" wie
> mein bisheriger Weg. Ich könnte das ganze zwar über ein batch File
> aufrufen wo schon die Parametrierung etc. drin ist. Aber trotzdem noch
> aufwendig über die Konsole zu arbeiten.
Konsole ist mit abstand das schnellste was es gibt - jedenfalls wenn's 
gut gemacht ist (was auf cmd.exe nicht zutrifft) Warum nich ne batch 
Datei, die das alles macht. Ein Doppelklick, am Skop auf Print drücken, 
wenn fertig ^C in der Konsole, passt, wo ist das Problem?

von Albert .. (albert-k)


Lesenswert?

Ich hatte mal versucht den Vorschlag von Luk4s zu realisieren. habe aber 
ein Problem beim auslesen des COM Ports. Und zwar öffnet er den COM Port 
und schließt ihn direkt wieder. Er wartet also nicht und schreibt alles 
empfangene in meine gewünschte Datei. Anbei mal mein bisheriger Code
1
@REM Programm zum Empfangen von Bild Prints von Tektronix Oszilloskopen
2
3
@echo off
4
@set Datum=%date:~-4%-%date:~3,2%-%date:~0,2%
5
@set /p COM_PORT=Bitte COM Port eingeben:
6
@set COM_NUMBER=%COM_PORT:~3,1%
7
@echo. 
8
@echo Konfiguriere COM Schnittstelle
9
@MODE %COM_PORT%: BAUD=256000 PARITY=N DATA=8 STOP=1 rts=off dtr=off
10
11
@echo Bitte "Print" auf Oszilloskop druecken.
12
@TYPE %COM_PORT% > %Datum%.bmp
13
PAUSE
Wie bekomme ich es hin das er nun die Ganze Zeit die Empfangenen Daten 
in das .bmp schreibt? Bis ich das Batch schließlich mit STRG+C abbreche.

von Lukas K. (carrotindustries)


Lesenswert?

Albert ... schrieb:
> Und zwar öffnet er den COM Port
> und schließt ihn direkt wieder.

Da kenne ich mich jetzt zu wenig mit Windows/(DOS ;)) aus, um dir 
qualifiziert weiter zu helfen. Es gibt hier Leute, die haben mehr Ahnung 
von DOS/Windows als ich.

von Albert .. (albert-k)


Lesenswert?

Also meine Recherche hat mich nun soweit gebracht das Lesen eines COM 
Ports in bat files wohl nicht möglich ist.
Siehe dazu folgenden Post:
http://www.computing.net/answers/programming/batch-file-that-can-lesson-to-the-com-port/24123.html

Ich denke ich werde mir eine einfache Konsolenanwendung programmieren 
die das ganze macht.

von steffen (Gast)


Lesenswert?


von Albert .. (albert-k)


Lesenswert?

Wie ich in meinem Anfangspost bereits erwähnt habe ist das (Empfang über 
hterm und dann abspeichern) meine bisherige Methode. Jedoch war mir das 
ganze eifnach zu viel geklicke (Faulheit). Ich wollte es automatisieren. 
so das ich nur noch das Tool starte (ggf COM Port auswähle), Print 
drücke und ich erhalte mein bmp.

von DirkB (Gast)


Lesenswert?

Mit copy funktioniert das auch. Kann sein das du den Switch ( /B ) für 
den binary-mode setzen musst.

von georg georg (Gast)


Lesenswert?

funkionirt es jetzt, hätte mich auch Interresiert?

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.