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
Programmierung des Parallelports
-
- 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
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.
FPC Stiel ist um http://freepascal.stack.nl/docs-html/rtl/x86/fpioperm.html zu nutzen.
Re: Programmierung des Parallelports
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
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
-
- 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
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.
Re: Programmierung des Parallelports
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
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