Von Turbo Pascal DOS kommend, steige ich gerade auf Freepascal Windows um. Mein Problem ist nun, daß ich keine Unit für die serielle Schnittstelle habe. Hat jemand eine entsprechende Unit oder einen Link. Das Internet gibt erstaunlicherweise nichts her?
Probiere es doch einfach mal mal mittels Datei-Zugriffen auf die Filenamen "COM1", "COM2", "LPT1" etc...
Das wuerd ich mir genau nicht antun. Dafuer gibt es Libraries. Probier mal die TPApro, zu finden auf sourceforge.net.
>Das wuerd ich mir genau nicht antun.
Wiese nicht! Es ist doch elegant, mit Dateizugriffs-Funktionen auch auf
Schnitstellen zuzugreifen! Schnittstelle öffnen, schliessen, schreiben,
lesen...
Hi Von der Zeischrift 'Toolbox' gibt es eine sehr umfangreiche Lib. ist eigentlich für Delphi. Sollte aber auch für Freepascal gehen. MfG Spess
Vielen Dank für eure Beiträge und Hinweise. TPApro & Toolbox werde ich suchen & testen. Der Zugriff über die Datei gefällt mir gut. Das Problem ist nur, daß ich die Parameter nicht einstellen kann.
SynaSer http://synapse.ararat.cz This is library for blocking communication on serial ports. It is non-visual class.
Ein Serialport als Blockdevice (Datei) ist etwas das Duemmste, das man sich vorstellen kann. Aber Streamdevices gab es damals noch nicht.
Mini Troll schrieb: > Ein Serialport als Blockdevice (Datei) ist etwas das Duemmste, das man > sich vorstellen kann. Aber Streamdevices gab es damals noch nicht. was in aller Welt ist damals? vor dem 2. Weltkrieg? Schon CP/M hat zwischen Char und Block-Devices unterschieden und MSDOS sowieso. Und ein Dateizugriff hat auch ganz und garnichts damit zu tun. Oder kümmerst du dich etwa darum, ob die Sektoren auf einer Platte 512 oder 1024 Bytes haben? Man kann eine beliebige Anzahl Bytes sowohl auf die Platte schreiben als auch auf COMx oder LPTx, und das schon sehr sehr lange. Gruss Reinhard
Hallo, ich hab die serial-Unit von Free Pascal für Unix vor einiger Zeit für ein Projekt schon auf Win32 portiert, wenn ein synchroner Zugriff reicht (z.B. über einen Thread)... Wir haben's nur immer noch nicht geschafft, die Windoof-Version mal offiziell zur RTL zu packen, v.a. weil die Implementierung nicht 100% vollständig ist, verglichen mit der Unix-Version. Bei Bedarf kurz melden (sg@areca.de) Die ist halt wesentlich leichtgewichtiger als Synapse & Co. Gruß, Sebastian (Original-Autor der Unix-Version)
Dirk Fellenberg schrieb: > SynaSer > > http://synapse.ararat.cz > > This is library for blocking communication on serial ports. It is > non-visual class. Mini Troll schrieb: > Ein Serialport als Blockdevice (Datei) ist etwas das Duemmste, das man > sich vorstellen kann. Aber Streamdevices gab es damals noch nicht. äh, "blocking" mit "block" verwechselt?
>äh, "blocking" mit "block" verwechselt?
Nein. Dateien sind doch immer Block devices. Nein ?
Nein Dateien sind keine Devices, also auch keine block devices. Vielmehr liegen Dateien in einem Dateisystem, das wiederum auf einem block device untergebracht ist. Ein block device ist eines, welches nicht byteweise, sondern nur in Form von Sektoren, Clustern etc. angesprochen werden kann. Dateien dagegen können auch zeichenweise gelesen und geschrieben werden. Die Umsetzung dazwischen macht dann das Dateisystem bzw. dessen Treiber im OS, soweit es sich tatsächlich um reale Dateien handelt. Um die geht es hier aber doch eh nicht, sondern es geht um einen COM-Port, der nie auf einem block device liegt und nur wie eine Datei (zeichenweise) angesprochen wird. Mit Blöcken hat das irgendwie nichts zu tun, oder habe ich etwas übersehen?
Blocking meint in diesem Kontext lediglich, dass ein lesender Prozess angehalten wird, bis Daten an der Schnittstelle angekommen sind.
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.