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
schon gesehen: https://batchloaf.wordpress.com/2013/02/12/simple-trick-for-sending-characters-to-a-serial-port-in-windows/
> Wie kriege ich eine Ascii Datei auf den COM Port umgeleitet?
1 | copy /A meine-ascci-datei.txt com1: |
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%
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.
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 ...
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.
Wenn die Portnummern >9 sind musst du (glaub ich zumindest) \\.\COMxx schreiben. Oder so...
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 :-(
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
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.