Forum: PC-Programmierung DOS -> RS232


von Felix Fellhauer (Gast)


Lesenswert?

Hallo leuz

ich wollte mal fragen, ob es eine möglichkeit gibt, um ascII zeichen
über die serielle also rs232 an meinen µc zu schicken. die hardware
steht und funktioniert, ich möchte nurnoch eine angenehme emöglichkeit
finden um meine befehle an den controller zu senden.

also z.B. dass wenn ich schreib   send fo  dass die buxhstaben f und o
nacheinander in ascii übertragen werden.

danke schonmal im vorraus


Felix

von Johannes M. Richter (Gast)


Lesenswert?

Wenn ich mich recht erinnere ging das mit

echo blabla > COM1

von Rufus T. Firefly (Gast)


Lesenswert?

Ganz plump:
  copy con com1
eingeben
  fo Ctrl+Z
eingeben
(vorher mit mode com1: noch Baudrate etc. einstellen)

Oder ein DOS-Terminaprogramm verwenden (Procomm)

Wenn's nicht DOS (dirty old [zensiert]) sein muss - für Windows
gibt's auch anständigere Terminalprogramme als das mitgelieferte
Hyperterminal (Teraterm, den Gui-Shocker "bray" und viele andere).

von Christina (Gast)


Lesenswert?

Hallo Leute,

hab ein ähnliches Problem. In meinem Fall möchte ich aber Daten von der 
angeschlossenen Pumpe auf meinem PC empfangen (über 
RS232-Schnittstelle). Auf diese Weise habe ich dann eine 
Abfragemöglichkeit, wann der nächste Befehl an die Pumpe gehen soll. Ich 
hab's auch mit Z-Cron (zeitliche Steuerung) probiert, aber das hat nicht 
funktioniert.

Mit Hilfe von HTerm klappt es wunderbar, die Rückantworten der Pumpen 
jeweils zu sehen. Nur kann ich das Terminalprogramm denke ich im 
automatisierten Betrieb nicht verwenden, da mehrere batch-Dateien 
benötigt werden (+ Einbau einer Schleife usw.). Ich hab deshalb daran 
gedacht, in der batch-Datei eine Abfrage des Pumpenstatus einzubauen 
(über if-Schleife).

Weiß jemand wie das in DOS funktioniert?

Daten schicke ich ja per type Beispiel.txt >com1 raus. Wie sieht der 
umgekehrte Weg aus, wenn ich die Daten einer Datei hinzufügen möchte? 
Müsste ja in etwa so gehen, oder?

if com1:==- call BatchX.txt ("-" ist die Rückgabe der Pumpe, die mir 
sagt,
                             dass dervorherige Befehl beendet ist)
else "dann frag weiter bei der Pumpe nach"

Danke für Eure Hilfe,
Christina

von Michael H* (Gast)


Lesenswert?

mit docklight kannst du bei definierbaren empfangenen zeichen ereignisse 
auslösen. z.b. das zurücksenden eines zeichens.

von Christina (Gast)


Lesenswert?

gibt's auch ne möglichkeit unter dos? ich hab mit programmierung nicht 
viel erfahrung und eigentlich nur totale grundkenntnisse.

von Johnny (Gast)


Lesenswert?

Wenn das Tool nicht zu aufwändig sein soll, dann könnte man es schlicht 
mit dem alten QBasic realisieren. Das Ansprechen der seriellen 
Schnittstelle und auch Filehandling etc. ist damit ziemlich einfach.
Ein wenig veraltet zwar, aber warum nicht.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Christina such mal in die Richtung Terminalprogramme mit 
Skript-/Batchfähigkeiten.

Der uralte Klassiker für DOS ist da Telix 
http://www.simtel.net/category.php%5Bid%5D286%5BSiteID%5Dsimtel.net

von Christina (Gast)


Lesenswert?

hey,

hab versucht telix zu installieren. hat aber nicht funktioniert. 
scheinbar ist der laptop oder die dos-version bereits zu alt.

gibt es keinen befehl, wo man einfach nur das > in < umdrehen muss oder 
so?

geb langsam die hoffnung auf, dass ich das programm noch zum laufen 
bekomme. ne alternative wäre ja, das ganze auf einen mac drauf zu 
packen, oder? ich hab mal irgendwo zufällig gelesen, dass dort bereits 
eine timer-funktion im terminal integriert ist?

lg,
christina

von Johnny (Gast)


Lesenswert?

Wie gesagt, mach es in QBasic. Was Du machen willst benötigt nur wenige 
Zeilen Code und lässt sich in eine EXE kompilieren.

von Christina (Gast)


Lesenswert?

kenn mich mit qbasic leider null aus :-/ werd mal sehen was ich dazu 
finde

von Johnny (Gast)


Lesenswert?

Downloads gibts hier:
http://www.qbcafe.net/qbc/german/download/compiler/qbasic_compiler.shtml

Hier gibts viele, viele Infos:
http://www.qbasic.de/

Du könntest damit eine kleine Shell machen die Deinen gewünschten "send" 
Befehl entgegennimmt und dann die nachfolgenden Zeichen auf der 
seriellen Schnittstelle ausgibt.
Oder das Programm send.exe nennen und die mitgegebenen Parameter an die 
serielle Schnittstelle ausgeben. z.B. c:\send hello world
Gibt viele Möglichkeiten...

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.