mikrocontroller.net

Forum: PC-Programmierung DOS Batch Befehle für Umleitung auf COM


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christian J. (Firma: privat) (christianj)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

unter Linux alles kein Thema aber ich bin nunmal grad in der Windows cmd 
Shell unterwegs und meine DOS Zeiten liegen 30 Jahre zurück.

Wie kriege ich eine Ascii Datei auf den COM Port umgeleitet? Den Intel 
Hex Interpreter habe ich mir schon geschrieben für CP/M, der funzt auch 
gut.

Ich hätte gerne sowas
echo "era test.hex" > COMx  // Alte Datei auf Target löschen
echo "download.com" > COMx  // Starte Intel Hex Interpreter
warte 1s
copy Intel-Hex-File > COMx  // Schiebe neues Kompilat rüber
warte 1s
echo "test.com"    // und führe es aus

Also das was ich normalerweise eintrippe soll für programmtests gsteuert 
werden um nicht ewig die gleichen Befehle eingeben zu müssen damit ich 
meinen kleinen CP/M Rechner quasi fernsteuern kann, dass er sich das 
rein saugt und ausführt.

Könnte mir mal jemand ein syntaktisch korrektes Beispiel geben?

gruss,
Christian

: Bearbeitet durch User
von cppbert (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Michael Gugelhupf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Wie kriege ich eine Ascii Datei auf den COM Port umgeleitet?
copy /A meine-ascci-datei.txt com1:

von Christian J. (Firma: privat) (christianj)


Bewertung
0 lesenswert
nicht lesenswert
Jo, danke! geht doch schnell von der Hand, auch mal eben auf dem 
Firmenrechner.... läuft zumindest.

rem --- Variablenteil --------
set filename=mycpm.hex
set comname=mycpm.com
set hexfile=intel.hex
set comport=com3
rem --------------------------
rem Initialisiere COM Port
mode %comport% baud=38400 parity=N data=8 stop=1 rts=off dtr=off
echo off
echo "------------------------"
echo "Intel Hex CP/M Transfer"
echo "------------------------"
echo "Loesche Target Datei"
echo "era %filename%"
echo "Starte Download App"
rem  Starte Download App auf Target
echo "download.com"
timeout 3
rem  Ubertrage das Intel Hex File auf COM Port
type %hexfile%
pause
rem  Starte die Anwendung
type ´%comname%

von fop (Gast)


Bewertung
0 lesenswert
nicht lesenswert
CP/M hatte auch schon sowas wie Batch-Dateien. Der entsprechende Befehl 
hieß submit. Hat nur zu Zeiten der Disketten vor und nach jedem 
ausgeführten Befehl merklich auf dem Laufwerk rumgerührt.

von Christian J. (Firma: privat) (christianj)


Bewertung
0 lesenswert
nicht lesenswert
fop schrieb:
> CP/M hatte auch schon sowas wie Batch-Dateien. Der entsprechende Befehl
> hieß submit. Hat nur zu Zeiten der Disketten vor und nach jedem
> ausgeführten Befehl merklich auf dem Laufwerk rumgerührt.

Moin,

Da wird genug gerührt und gesägt, nen Cache hat es ja nicht :-) Geht 
halt nur darum den Weg von einer Änderung des auf dem PC entwickelten C 
Programms bis zum Test auf der Kiste möglichst zu vereinfachen. Derzeit 
sieht es so aus dass ich nur mit xmodem übertragen kann und etliche 
Klicks und Mauseingaben erforderlich sind. Da alles was ich auf der CPM 
Konsole eingebe ja genauso gut von einem Skript kommen kann 
automatisiere ich das ein wenig. Das CPM Programm was ich mir 
geschrieben habe schlürft sich dann das Intel Hex rein und erzeugt mir 
daraus ein COM. Im Idealfall reicht dann nur noch

make
....
run
...

von Christian J. (Firma: privat) (christianj)


Bewertung
0 lesenswert
nicht lesenswert
Funzt leider nicht :-( Wenn ich das Terminal in Putty offen habe 
behauptet das Skript, dass der Port 10 nicht erreichbar ist. 
Offensichtlich hat Putty Exklusivrechte. Das war unter Linux anders, da 
war dev/tty/USB0 auch von mehreren Quellen aus erreichbar.

von Helmut -. (dc3yc)


Bewertung
0 lesenswert
nicht lesenswert
Wenn die Portnummern >9 sind musst du (glaub ich zumindest) \\.\COMxx 
schreiben. Oder so...

von Christian J. (Firma: privat) (christianj)


Bewertung
0 lesenswert
nicht lesenswert
Helmut -. schrieb:
> Wenn die Portnummern >9 sind musst du (glaub ich zumindest) \\.\COMxx
> schreiben. Oder so...

Man kann solche Com Port Share Programme kaufen aber die Demo von einem 
grad klappte auch nicht, da es ein Null Modem emuliert. Notfalls muss 
ich halt wirklich einen FTDI verlöten und irgendwie da rein odern.

Grad ausprobiert. Klappt von der cmd Zeile aber nicht aus der Batch 
heraus
Erzeugt ein Zugriff verweigert. Wie gehabt...

Hiermit geht es:
https://www.eltima.com/article/share-com-port-between-apps/

zumindest für 14 Tage :-(

: Bearbeitet durch User
von Christian J. (Firma: privat) (christianj)


Bewertung
0 lesenswert
nicht lesenswert
Leider lässt sich dieser Ausdruck so ohne weiteres nicth auf eine lokale 
Variable zuweisen. Muss jedesmal neu getippt werden. Aber dann klappt es 
wenn man dieses Programm gleichzeitig laufen lässt. Mal eben Schnäppchen 
für 199 USD :-(((

oder den für 25 Euro, klappt auch
http://www.eterlogic.com/Products.VSPE.html

set masterfile=mycpm
set comport=//./COM10:

rem -------------------------
set filename=%masterfile%.hex
set comname=%masterfile%.com
echo %filename% to %comport%
rem --------------------------

rem mode %comport% baud=38400 parity=N data=8 stop=1 rts=on dtr=off 
to=on
rem Loesche alte Datei auf Target
echo dir >//./com10:
echo era %filename% >//./COM10:
echo era %comname% >//./COM10:
timeout /T 2 /NOBREAK

: Bearbeitet durch User

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.

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