PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Druckerport, Datenleitungen als Eingang Hardwarebeschaltung!



Amiwerewolf
02.08.2007, 23:55
hallo,
weiß jemand wie man den druckerport hardwaremäßig als eingang benutzt?
das lesen der E/A ist kein thema, blos wie muss ich den druckerport beschalten ohne ihn zu zerstören! Was schon funktioniert ist ihn als Ausgang zu nutzen! es soll beides realisiert werden um z.B. AD wandler, oder I²C Konponenten anzusteuern.

Danke Amiwerewolf

mikro-VIIV
28.08.2007, 20:25
Hallo Amiwerewolf,

wenn du einen AD-Converter an den druckerport anschließen willst, dann hab ich hier vielleicht was nützliches für dich:

http://www.franksteinberg.de/e-tlc549.htm
-hab ich selbst schon nachgebaut und funktioniert gut :D

oder die etwas ausgefallenere Version (mit Widerständen zum Schutz des Ports)
http://www.franksteinberg.de/uni8ad.htm

Auf den Seiten findest du auch Tipps zur Programmierung.

Ich steuer das ganze mit ProfiLab an.

Hoffe dir damit geholfen zu haben.

user529
28.08.2007, 20:57
willst du die bidirektionalen oder nur die ein/ausgänge beschalten?

um die richtung umzuschalten musst du den ersten pin umschalten, danach kannst die die acht datenleitungen über einen widerstand (650ohm oder was sonst so in der größenordnung herumliegt) auf gnd ziehen, danach die 8 datenleitungen wie die eingänge abfragen (aber adresse ändern)

über ein irgendwo ist aber auch ein register mit dem du die richtung für einzelne pins ändern kannst, da musst du aber googel fragen, das habe ich noch nie gemacht.

wenn du nur schnell probieren willst kannst du den port mit parmon überwachen und einem widerstand probieren

mfg clemens

Amiwerewolf
29.08.2007, 12:25
als ausgang ist es ja nicht schwer, aber den LPT als eingang benutzen hab ich keine ahnung! vorallem er ist ja nicht kurzschlussfest!
so wie es asusieht werd ich aber nen ISA bus missbrauchen!

mantis.
29.08.2007, 17:16
Hi!

Also wenn du den LPT als Eingang nehmen willst, musst du das in den Steuerregistern der Schnittstelle umstellen

Wenn mich nicht alles täuscht ging das so:
int port=0x378;

outp(port+2,0x10); //umschalten auf Schreibbetrieb
outp(port+2,0xEF); //umschalten auf Lesebetrieb

und dann einfach die 8 Datenbits der LPT einlesen

outp ist eine funktion um auf das LPT zu schreiben

wenn du willst, kann ich da eine doku zukommen lassen
hab da noch wo was gutes rumliegen denk ich

mfg
MaX