Programmierung des Parallelports

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
wega
Beiträge: 57
Registriert: Di 6. Dez 2011, 15:36

Programmierung des Parallelports

Beitrag von wega »

Hallo zusammen,

im Begleitbuch "Lazarus" - Arbeiten mit IDE und Klassenbibliothek
wird ab der Seite 574 die Programmierung des Paralleports beschrieben.
Im Verlauf der Beschreibung wird auf die Routine "ioperm" hingwiesen, auf der
man nur zugreifen kann, wenn LibC installiert ist und die Unit clib in der use Anweisung aufgenommen ist.

Wo finde ich Libc bzw. wie muss ich dies installieren bzw. einbinden?

mit Gruß
Werner

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Programmierung des Parallelports

Beitrag von marcov »

Das ist falsch. Das war der Kylix weg, ist aber nicht den FPC/Lazarus Weg.

FPC Stiel ist um http://freepascal.stack.nl/docs-html/rtl/x86/fpioperm.html zu nutzen.

wega
Beiträge: 57
Registriert: Di 6. Dez 2011, 15:36

Re: Programmierung des Parallelports

Beitrag von wega »

Hallo marcov,

vielen Dank für die schnelle Antwort.

So ganz verstehe ich nicht, was du mir mit deiner Antwort sagen willst.

Ich lege einmal mein Porject "Parallelport.zip" bei und bitte dich, einmal den Code zu korrigieren.

mit freundlichem Gruß
Werner
Dateianhänge
Parallelport.zip
(129.15 KiB) 64-mal heruntergeladen

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Programmierung des Parallelports

Beitrag von marcov »

wega hat geschrieben:Hallo marcov,

vielen Dank für die schnelle Antwort.

So ganz verstehe ich nicht, was du mir mit deiner Antwort sagen willst.


In der .pas:

Letzter teil der uses Klausel wird

Code: Alles auswählen

{$IFDEF Unix}
  , x86, ports //für die Rechte und Portoptionen
  {$ENDIF}
  ;


Die Deklaration von ioperm verschwindet, und in buttonsendclick ändert sich

Code: Alles auswählen

ioperm(PortAdress, 8, 1);


in

Code: Alles auswählen

fpioperm(PortAdress, 8, 1);


Und ein ähnliches Statement soll an buttonreceiveclick zugefuegt werden.

Aber fuer reine ein/input soll man nicht mit Ports arbeiten, aber via der Linux paralleler Treiber. Port I/O soll man nur tun wenn es nicht anders kann. Also via /dev/parport0

Sieh dafuer http://as6edriver.sourceforge.net/Paral ... howto.html

DirectIO ist weniger Portabel, und könnte schon mit 64-bit Linux ein Problem geben.

wega
Beiträge: 57
Registriert: Di 6. Dez 2011, 15:36

Re: Programmierung des Parallelports

Beitrag von wega »

Hallo marcov,

Danke für die wichtigen Hinweise und den entsprechenden Link zum Howto.

Am Parallelport möchte ich eine 8-Bit-Relaiskarte schalten und damit wieder meine Haus- und
Gartenbeleuchtung steuern.

Nochmals vielen Dank für deine Geduld und Hilfe.

mit freundlichem Gruss
Werner

Antworten