Entwickler-Ecke
Sonstiges (Delphi) - Parallelportansteuerung
Stino - Sa 29.03.03 17:37
Titel: Parallelportansteuerung
Hallo,
ich hab mich jetzt zwar schon ausgiebig mit diesen Thema beschäftigt, aber nirgendwo ein präzises oder etwas genaueres Tutorial gefunden.
Hat jemand von euch Erfahrung damit?
Ich möchte die Datenleitungen nur in schreibrichtung auf low oder high schalten. wie kann ich das realisieren? Gegen Assemblerteile im Programm hätte ich auch nichts... ;-)
Vielen Dank, mich interessiert auch eure Meinung dazu!
Stino
Adrian - Sa 29.03.03 21:48
Titel: Wie's am Parallelport geht
Hallo Stino,
das geht recht einfach, sofern Du nicht NT,2000 oder XP verwendest.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); begin asm mov dx,378h // LPT1 auf 378H mov al,0 // Ausgabewert 0...255 out dx,al end; end; |
Servus,
Adrian
Stino - So 30.03.03 01:17
Hallo,
Das ganze wird unter Win98 bzw. ME laufen.
Was ich nur noch nicht ganz verstehe, ist der Ausgabewert.
Der Parallelport hat 25 Pins, wovon nur Pin 2-9 Datenleitungen (D0-D7) zum ansprechen sind. mit welchen Wert setzt man die verschiedenen Datenleitungen low oder high?
Vielen Dank,
Stino
Stino - So 30.03.03 01:17
Hallo,
Das ganze wird unter Win98 bzw. ME laufen.
Was ich nur noch nicht ganz verstehe, ist der Ausgabewert.
Der Parallelport hat 25 Pins, wovon nur Pin 2-9 Datenleitungen (D0-D7) zum ansprechen sind. mit welchen Wert setzt man die verschiedenen Datenleitungen low oder high?
Vielen Dank,
Stino
Adrian - So 30.03.03 11:14
Titel: Datenleitung setzen
Hallo Stino,
geht ganz einfach:
D0 setzt man mit 1,
D1 mit 2,
D2 mit 4,
usw
D7 mit 128.
Will man mehrere setzen, muß man die einzelnen Werte addieren.
Gruß,
Adrian
Stino - So 30.03.03 13:15
Titel: high oder low?
Danke,
ich werd' mich denn mal gleich ran setzten!
MFG Stino
Stino - So 30.03.03 19:50
Hab ich jetzt versucht. Funktioniert soweit einwandfrei. Mein Problem ist allerding noch, dass ich nicht mehrere Leitungen gleichzeitig setzten kann.
D.h., wenn ich eine Leitung ändern will, werden die anderen alle auf low gesetzt.
Für die Steuerung muss ich allerdings mehrere gleichzeitig schalten bzw. auf high setzten.
Lässt sich das irgendwie umsetzen?
Danke, Stino
Adrian - So 30.03.03 22:21
Titel: Mehrere Bits setzen
Hallo,
auch das ist recht einfach.
Beispiel: Gesetzt wurde D2 mit 4. Jetzt soll auch noch D0 gesetzt werden, deshalb mußt Du halt 5 ausgeben. Wichtig ist lediglich, daß Du noch weißt, was Du zuletzt ausgegeben hast. Aber das dürfte kein Problem sein, wenn Du zuerst mal alle Leitungen auf 0 gesetzt hast.
Gruß,
Adrian
Stino - Mo 31.03.03 17:43
Alles klar, so, wie ich die Leitungen schalten will, sende ich ein byte an den Port! 00011010 entspricht denn also D1=high, D3=high, D4=high, der Rest ist auf low.
Hab mein Proggi schon fertig, wollte 7-Segment LED-Anzeige ansteuern.
klappt einwandfrei!
Danke, Stino
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!