Autor Beitrag
linux-freak-gf
Hält's aus hier
Beiträge: 13


Delphi 3
BeitragVerfasst: Di 09.09.03 18:16 
Hi Leute
Wie kann ich unter Delphi den Paralellport ansprechen und auf jeden einzelnen Pin zugreifen??????




Linux
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Di 09.09.03 19:11 
Imho geht das unter windows nur mit CreateDC(). Ob du da allerdings einzelne Pins ansprechen kannst, weiss ich nicht.
grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mi 10.09.03 11:49 
Es gab auch noch nen Aufruf da konntest du gezielt Bytes schreiben und somit die Pins ansprechen (Byte=8 dann Pin1 , Byte=16 dann P1+P2)...
Ich gug nochma nach wie der hieß...
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Mi 10.09.03 17:49 
Hallo,

mein Spezialgebiet.

1) Du brauchst eien spezielle Datei, denn unter NT geht das NICHT. Ich empfehle: SaDirectPort, findest du irgendwo bei Torry's.

2) Jeden Pin? NEIN!!!!! Du hast:
- Eingänge
- Daten-Ausgänge
- Steuer-Ausgänge
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
Buchse außen
--------------------------------------------------------
\  13  12  11  10  9   8   7   6   5   4   3   2   1   /
 \                                                    /
  \  25  24  23  22  21  20  19  18  17  16  15  14  /
   --------------------------------------------------

 Funktion       | E/A | Pin   | Bit | Register | Inv
 ---------------+-----+-------+-----+----------+-----
 Strobe         | A   | 1     | 0   | Control  | *
 Datenbit 0     | A   | 2     | 0   | Daten    |
 Datenbit 1     | A   | 3     | 1   | Daten    |
 Datenbit 2     | A   | 4     | 2   | Daten    |
 Datenbit 3     | A   | 5     | 3   | Daten    |
 Datenbit 4     | A   | 6     | 4   | Daten    |
 Datenbit 5     | A   | 7     | 5   | Daten    |
 Datenbit 6     | A   | 8     | 6   | Daten    |
 Datenbit 7     | A   | 9     | 7   | Daten    |
 Acknowledge    | E   | 10    | 6   | Status   |
 Busy           | E   | 11    | 7   | Status   | *
 Paper Out      | E   | 12    | 5   | Status   |
 Select         | E   | 13    | 4   | Status   |
 Auto Linefeed  | A   | 14    | 1   | Control  | *
 Error          | E   | 15    | 3   | Status   |
 Reset          | A   | 16    | 2   | Control  |
 Select Printer | A   | 17    | 3   | Control  | *
 Masse          | -   | 18-25 |

Die mit stern sind invertiert.

Der Port LPT1 hat normalerweise die Adresse 888. Wenn das bei dir nicht geht, googeln, die andere Adresse weiß ich nicht mehr.

OK, du kannst also nur auf BESTIMMTE Pins zugreifen. Und die einen geben aus, die anderen lesen ein.

Fragen...?

_________________
Life is a bad adventure, but the graphic is really good!
Adrian
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 314



BeitragVerfasst: Do 11.09.03 02:05 
Servus!

Der LPT-Port ist auch ein von mir bevorzugtes Gebiet. Unter XP verwende ich die IO.dll und habe keine schlechten Erfahrungen gemacht, unter 9x brauchst Du nicht mal das. Im Forum habe ich schon mal was darüber geantwortet, das findest Du mit der Suchfunktion. Weitere Infos sind im Internet bei Jan Axelson (->Google) zu finden, gerade was das bidirektionale Einlesen/Ausgeben bei EPP und ECP betrifft. Falls noch Fragen da sind - einfach posten.

Gruß,

Adrian