Re: Auslesen des Parallel Ports
14. Mai 2007, 12:48
Hi
Auch wenn du vielleicht dieses Thema als beendet betrachtest, möchte ich hier noch einmal eine Antwort geben und vor möglichen Trugschlüssen warnen.
Also, mag sein das eine Beschaltung eines 5V führenden Pins dir komischerweise auf dem Pin 13 grad mal freundlich gesonnen ist, aber...
Hier ein wenig Erklärung:
Es gibt für den Parallelport 3 Register
Ein Datenregister, ein Kontrollregister und ein Statusregister. Die Bits dieser Register sind auf den Parallelport geschaltet. So sind Pin 2 bis Pin 9 die Datenbits. (vollständiges Byte)
Statusbits sind Pin 10, 11, 12 , 13 und 15. (nicht alle Bits des Registers )
Das Controllregister findet sich auf den Pins 1, 14, 16 und 17. ( auch nicht alle Bits des Registers)
Nun hab ich grad mein schlaues Buch nicht zur Hand, aber ich glaub, das Statusregister sind Eingänge und das Controlregister sind Ausgänge. Die Datenbits sind unter bestimmten Voraussetzungen Bidirektional. Wenn du nun (durch Zufall) eine 5V Leitung auf deinem Port gefunden hast, so ist das kein Garant, das diese 5 V auch immer anstehen. Der Parallelport hat keine 5V Spannung auf dem Port. Wenn du nun dein Programm so auslegst, das du einen programmierbaren Pin das 5V Signal abforderst, nun ja, die Antwort nach der Zuverlässigkeit abgesehen von der unnötigen Gefahr durch irgendeinen dummen Kurzschluß den Port zu zersemmeln, kannst du dir da schon selbst beantworten....
Da ist es schon besser, wenn eine 4,5V Batterie genommen wird, der Minus an eines der Pins 18 bis 25 (alles GND-Leitungen) und die 5 V + auf eine der Statusleitungen, die dann unter der Adresse der Statusbits eingelesen werden kann.
Wesentlich besser ist es, sich mal in ein paar Elektronikforen unzuhören, was die Experten so zum Beschalten irgendwelcher Portleitung vorschlagen. Manchmal gibt's sogar Wissen unter Leuten, die nich grad Delphi programmieren.
Gruß oldmax und deinem Rechner ein möglichst langes Leben....
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
|