Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Problem mit paralleler Schnittstelle (https://www.delphipraxis.net/118350-problem-mit-paralleler-schnittstelle.html)

oki 6. Aug 2008 13:12

Re: Problem mit paralleler Schnittstelle
 
Hier noch mal ein Link aus dem Forum, wo das Handling beschrieben ist.
hier

Gruß oki

mikro-ViiV 6. Aug 2008 13:39

Re: Problem mit paralleler Schnittstelle
 
OK, mit der INPOUT32.DLL hat es jetzt funktioniert.

Ich habe mal versuchsweise meine Relaiskarte rangehängt.
Die Ausgabe Über die Datenleitungen funktioniert einwandfrei.

Wie muss ich es denn mit der Eingabe machen? Sind die Eingänge HIGH-aktiv oder LOW-aktiv. Muss ich also vor dem Lesen alle Datenleitungen vorher auf LOW oder auf HIGH setzen?
Ich will nix kaputtmachen, deshalb frage ich lieber.


Und dann noch was wie komme ich denn an die Kontrollregister SELECT, INIT, AUTLF und STROBE und die Statusregister BUSY, ACK, PAPER, ONLINE und ERROR ran?

Register hab ich schon rausgefunden:
Basisadresse + 0 ist das Datenregister,
Basisadresse + 1 ist das Statusregister,
Basisadresse + 2 ist das Kontrollregister

nur welches Bit ist welcher Anschluss am Port? Welches Bit steht z.B. für SELECT oder welches für ACK. Gibts da vielleicht irgendwo ne Übersicht?

oki 6. Aug 2008 13:47

Re: Problem mit paralleler Schnittstelle
 
Du musst auch die Threads richtig lesen. Steht alles da.
guggst du hier

Zu dem Thema Eingänge setzen gabs auch noch einen Link mit einer einfachen Testschaltung. Ich denke, die Eingänge sind Low-Aktiv.
Benutze aber möglichst Schutzwiderstände für die Eingangsleitungen (330R) so das nicht schon auf deiner Schaltung erledigt ist (kenn ich ja nicht).

Ein paar Tutorials zu diesem Thema sind sicher angeraten. Benutze auch die Suche. Mit dem Suchwort Parallelport findest du alles, was du brauchst.

Gruß oki

oki 6. Aug 2008 13:48

Re: Problem mit paralleler Schnittstelle
 
Nachtrag,

ich hatte es so verstanden, dass das mit der Adressierung Basisadresse + Offset für die Register auch mit der io.dll gehen sollte.

Gruß

mikro-ViiV 6. Aug 2008 14:27

Re: Problem mit paralleler Schnittstelle
 
Zitat:

Zu dem Thema Eingänge setzen gabs auch noch einen Link mit einer einfachen Testschaltung. Ich denke, die Eingänge sind Low-Aktiv.
Welcher Link?

Die Steuerregister und die Kontrollregister sind LOW-aktiv.

Und nach dem Schaltplan hier sollten die Datenleitungen Als Input High-aktiv. Das müsste stimmen, denn die Ausgänge sing ja auch High-aktiv. Wenn ich das Datenregister auf 255 setze und es dann auslese erhalte ich wieder 255. Muss also High-aktiv sein.

Zitat:

Benutze aber möglichst Schutzwiderstände für die Eingangsleitungen (330R) so das nicht schon auf deiner Schaltung erledigt ist (kenn ich ja nicht).
Schutzwiderstände hab ich zur Zeit noch keine (Versuchsaufbau), aber ich werde vielleicht nen 74HC244 nehmen. Das müsste ja auch gehen.

p80286 6. Aug 2008 15:47

Re: Problem mit paralleler Schnittstelle
 
Falls irgendjemand sich für echtes Papier interessiert:

Tom Hogan "Die PC Referenz für Programmierer" ISBN: 3-89390-272-4

Damals steckte Objektorientierung allerdings noch in den Kinderschuhen!
darum gibts da noch interrupts und keine Klassen.

Gruß
K-H

mikro-ViiV 6. Aug 2008 17:14

Re: Problem mit paralleler Schnittstelle
 
Zu früh gefreut.

Ich kann zwar jetzt ohne Probleme das Datenregister setzen. Aber ich kann das Statusregister und Kontrollregister nicht ändern. Ich muss aber Bit 5 des Kontrollregisters auf High setzen, sonst kann ich den Port nicht bidirektional betreiben. :wall:

Ich habs mit der INPOUT.DLL versucht, aber damit kann ich anscheint nur die Datenregister beschreiben. Das Kontrollregister bleibt unverändert.

Mit der IO.DLL hat ja bei mir gar nichts funktioniert.

gibt es da vielleicht noch ne andere Möglichkeit?

oki 7. Aug 2008 09:14

Re: Problem mit paralleler Schnittstelle
 
Zitat:

Zitat von mikro-ViiV
Mit der IO.DLL hat ja bei mir gar nichts funktioniert.

Auch nicht mit Verwendung des Offsets?

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz