RS232 Programmierung via Turbo Pascal

Hallo Leute,

ich muss hier ein Interface (RS232) Programm schreiben, mit Ack / ENQ requests und wollte mal wissen, ob hier jemand schon erfahrung hat damit.

Es muss unter Dos programmiert werden, da der Interface-PC ein Dos-REchner ist.

Vielen lieben Dank schon im voraus

Heiko

Hallo Heiko,

was heisst hier „schon“? Das sind längst untergegangene Welten. Da DOS bekanntlich kein Multitasking-System ist, wirst du TSR-Software für das Protokoll schreiben müssen. Vor 15 jahren wusste ich noch, wie das geht, aber unter den Stichworten DOS und TSR findest du vielleicht noch Anleitungen.

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Heiko,

ich muss hier ein Interface (RS232) Programm schreiben, mit
Ack / ENQ requests und wollte mal wissen, ob hier jemand schon
erfahrung hat damit.

Es muss unter Dos programmiert werden, da der Interface-PC ein
Dos-REchner ist.

Lange, lange ist das her …

Da gibt es zwei Möglichkeiten, allerdings hängt das Ganze noch von der CPU-Leistung und der Übertragungsrate ab.

  1. Du kannst das RS232-Interface über BIOS-Aufrufe ansprechen. Das Problem ist aber, dass das BIOS diese nur über polling anspricht. Wenn also die Datenrate zu hoch ist oder dein Programm zeitweise andere Dinge zu tun hat, können dir Zeichen verloren gehen.

Wir hatten da mal ein Problem mit einen Gerät, war noch auf 80286er CPUs. Immer zur vollen Stunde brach das Protokoll zusammen. Die Ursache war die Uhr ! Es dauerte einfach etwas zu lange, wenn Sekunden, Minuten und die Stunden im Uhren-Interrupt nachgetragen werden mussten.

  1. Du schreibst eine Interruptgesteuerte Routine für die RS232, bzw. findest eine Bibliothek oder einen Source im Netz …
    Solange du etwas Ahnung von Hardware-Programmierung hast und ihr keinen DOS-Extender verwendet ist das eigentlich ganz einfach…

MfG Peter(TOO)

Hallo Peter,

vielen lieben Dank fuer deine Hilfe,

ich habe inzwischen eine TP Unit gefunden, die Comm_TP5 heisst. Leider noch etwas schwer zu verstehen (bei mir ist es auch schon etwa 10 Jahre her mit dem TP programmieren).

Wollte aber auch sehen, ob sich hier evtl. jemand detailiert auskennt und mir hilfestellung geben koennte…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Heiko,

ich habe inzwischen eine TP Unit gefunden, die Comm_TP5
heisst. Leider noch etwas schwer zu verstehen (bei mir ist es
auch schon etwa 10 Jahre her mit dem TP programmieren).

Wollte aber auch sehen, ob sich hier evtl. jemand detailiert
auskennt und mir hilfestellung geben koennte…

Zu TP & DOS , wirst du wohl fast nur alte Hasen finden und bei denen ist das halt schon lange „lange her“. Bei mir sinds auch etwa 15 Jahre, dass ich das letzte mal TP angeworfen habe.
Obwohl ich mal mit UCSD-Pascal angefangen habe und dann bei TP 1.0 unter CP/M weiter gemacht habe, bin ich vor 20 Jahren bei C gelandet …

MfG Peter(TOO)

Hi alle zusammen,

Welten. Da DOS bekanntlich kein Multitasking-System ist, wirst
du TSR-Software für das Protokoll schreiben müssen.

Err, wieso denn das? Warum brauchst Du unbedingt ein TSR, um die RS232 abzufragen? Ein TSR hast Du benutzt, um eine Art Multitasking hinzukriegen, z.B. Sidekick. Ich habe mal ein TSR geschrieben, um den Bildschirm zu „fotographieren“. Aber Daten über die serielle zu empfangen, das müsste auch so gehen.

Vor 15 jahren wusste ich noch, wie das geht, aber unter den
Stichworten DOS und TSR findest du vielleicht noch
Anleitungen.

Ist garnicht so schwierig. Wühl mal irgendwo rum und versuche A. Shulmans „Undocumented DOS“ aufzutreiben. Da steht das sehr detailliert drin.

Grüsse,

Tim

Nochmal Hi,

ich habe noch alten DOS-Code für die RS232 (und auch für TSRs). Ist allerdings Topspeed Modula-2. Sollte aber nicht schwierig sein, den in TP zu übersetzen. Wenn ihr wollt, mailt mir direkt, dann suche ich den raus und schicke ihn euch zu.

Ciao,

Tim

Hi alle zusammen,

Welten. Da DOS bekanntlich kein Multitasking-System ist, wirst
du TSR-Software für das Protokoll schreiben müssen.

Err, wieso denn das? Warum brauchst Du unbedingt ein TSR, um
die RS232 abzufragen? …

Hallo Tim,

da hast du schon recht, natürlich kann ich eine Interrupt Service Routine und anderes I/O-Zeugs im Programm selbst unterbringen. Ich habe mich nur in den letzten Jahren so an eine saubere Trennung von Anwendung und Treiber gewöhnt, dass mir automatisch ein TSR-Programm für das Protokoll eingefallen ist und eine Anwendung, die darauf zugreift, an einfachere Möglichkeiten habe ich garnicht mehr gedacht. Niemand würde unter Windows oder Linux ein Anwendungsprogramm schreiben mit darin enthaltenem Treiber für Hardware und Protokolle.

Unterlagen für TSR-Programmierung brauche ich sicher nicht, ich habe noch Arne Schäpers - DOS 5 für Programmierer und die MSDOS Enzyklopädie usw., mehr kann man darüber garnicht wissen. Es ist bloss mehr als 10 Jahre her, dass ich einen Blick hineingeworfen habe.

Gruss Reinhard

Hallo,

ich habe noch ein paar alte DOS-Programme laufen, die
alle auch mit COM-Interface arbeiten.
Die Quellen habe ich natürlich auch.
Ich kann Dir die sriela TPUs für die zukommen lassen.
Gruß Uwi

ich muss hier ein Interface (RS232) Programm schreiben, mit
Ack / ENQ requests und wollte mal wissen, ob hier jemand schon
erfahrung hat damit.
Es muss unter Dos programmiert werden, da der Interface-PC ein
Dos-REchner ist.
Vielen lieben Dank schon im voraus
Heiko

Hallo Uwi,

das waere super nett. Meine email addresse ist [email protected]

Vielen lieben dank

Heiko

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]