COM, serielle Schnittstelle auslesen, befehle senden per batch

Gast #4664107
Lesenswert?
• ▲
▼
Hi, ich möchte (am liebsten) per Batch Messwerte eine Messgeräts an COM3 
auslesen. Per HyperTerminal hat alles geklappt aber nun würde ich gerne 
noch ein bischen mehr machen.

Ein Benutzer soll Name, Teilenummer, Messdauer etc. eingeben und dann 
soll über die Messdauer jede Sekunde der befehl A an COM3 geschickt 
werden. Geschieht das gibt das Messgerät die Messwerte zurück die ich 
dann mit den Nutzerdaten gerne in eine Datei schreiben würde. Der 
Abfrage teil klappt wohl der COM teil leider nicht. Kann jmd helfen?


@ECHO OFF
@echo Messwerterfassung
type com3>messwerte.txt
:Ja
echo Bitte Benutzernamen eingeben
set /p Benutzer=
echo Bitte Teilenummer eingeben
set /p Teil=
echo Bitte Messdauer in Sekunden eingeben
set /p Messdauer=
echo Bitte Art der Messung eingeben (T2-A, etc..)
set /p Messung=

echo a>com3


ECHO Möchten Sie noch eine Messung durchführen ? (j / n)
SET /p wahl=
if '%wahl%' == 'n' goto Nein
if '%wahl%' == 'j' goto Ja
Goto Ende

:Nein
Messung abgeschlossen
goto Ende

:Ende
pause
Gast #4664126
Lesenswert?
• ▲
▼
Da fehlen die COM3-Einstellungen per mode command

Syntax
   Serial port:
      MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                [to=on|off] [xon=on|off] [odsr=on|off]
                                [octs=on|off] [dtr=on|off|hs]
                                [rts=on|off|hs|tg] [idsr=on|off]

Abfrage der derzeitigen Einstellungen: Einfach 'mode' im cmd-Fenster 
eingeben


Blackbird
Gast #4664181
Lesenswert?
• ▲
▼
ok der code sieht jetzt so aus. mit der schleife sagt er das er das "i" 
an dieser stelle nicht verarbeiten kann. lösche ich die schleife sagt er 
"Der E/A-Vorgang wurde wegen eines Threadendes oder einer 
Anwendungsaufforderung abgebrochen"




@ECHO OFF
@echo Messwerterfassung
:Ja
echo Bitte Benutzernamen eingeben
set /p Benutzer=
echo Bitte Teilenummer eingeben
set /p Teil=
echo Bitte Messdauer in Sekunden eingeben
set /p Messdauer=
echo Bitte Art der Messung eingeben (T2-A, etc..)
set /p Messung=
mode com3:19200,n,8,1
for /l %i in (1,1,messung) do (
type com3>messwerte.txt
timeout /T 1
) %i

ECHO Moechten Sie noch eine Messung durchfuehren ? (j / n)
SET /p wahl=
if '%wahl%' == 'n' goto Nein
if '%wahl%' == 'j' goto Ja
Goto Ende

:Nein
Messung abgeschlossen
goto Ende

:Ende
pause
Gast #4666877
Lesenswert?
• ▲
▼
Georg schrieb:
> gmt schrieb:
>> type com3>messwerte.txt
>
> Du willst doch die Messwerte ausgeben - also type messwerte.txt. Oder
>
> copy /b messwerte.txt com3
>
> Georg

ausgeben oder in den file schreiben. da ich sowieso alle ausgaben im 
batch fenster mit in die datei schreiben möchte ist egal, oder?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren