Autor |
Beitrag |
Stino
Hält's aus hier
Beiträge: 14
|
Verfasst: Sa 29.03.03 17:37
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
      
Beiträge: 314
|
Verfasst: 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 
Hält's aus hier
Beiträge: 14
|
Verfasst: 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 
Hält's aus hier
Beiträge: 14
|
Verfasst: 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
      
Beiträge: 314
|
Verfasst: 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 
Hält's aus hier
Beiträge: 14
|
Verfasst: So 30.03.03 13:15
Titel: high oder low?
Danke,
ich werd' mich denn mal gleich ran setzten!
MFG Stino
|
|
Stino 
Hält's aus hier
Beiträge: 14
|
Verfasst: 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
      
Beiträge: 314
|
Verfasst: 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 
Hält's aus hier
Beiträge: 14
|
Verfasst: 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
|
|