mikrocontroller.net

Forum: PC-Programmierung LPT Steuerleitungen ansprechen


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gerne das LPT als PC-Interface zu einer Testschaltung
vorerst nur LEDs benutzen (Testschaltung muss ich erst noch bauen).
Die Funktion CreateFile in Verbindung mit WriteFile scheint zu
funktionieren.
Allerdings schreibt WriteFile so meine ich nur ein Byte auf die Pins
2-9, oder?
Weiß jemand wie ich zum Beispiel nStrobe (Pin1) in VC++ setzen kann?
Ich finde dazu nichts.

Beim googlen habe ich immer wieder gelesen, dass sich so manch einer
sein Motherboard zerstörte beim Experimenten mit dem LPT.
Kann ich 8 x 20mA LEDS (pro Pin eine LED)direkt treiben aus meinem
LPT????

Stefan

Autor: Marc Meise (bytewood) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,
mit VC++ kenne ich mich (noch nicht) aus, aber es gibt diverse Treiber
in Form von .dll und .sys im Netz. Z.B. Port95NT.exe oder TVicHW32,
womit Du auf die LPT unter Windows zugreifen kannst. Recht gute
Literatur ist:  MSR mit Windows  Reber  ISBN 9783772357978.

Zur Schaltung:
Ich würde eine Test-Platine entwicklen, die a) eine externe
Spannungsversorgung benötigt und b) die Ausgänge des LPT über
Optokoppler (z.B. 2x PC817x glaube ich heissen die) von den LEDs
trennt.
Dabei die Vorwiderstände von >=1k nicht vergessen.
Vorteil: Du kannst damit nicht nur LEDs schalten, sondern auch
irgendwelche anderen Sachen (z.B. Relais, Schrittmotor,
Gleichstrommotor).
Aber: Never ever irgendwas direkt an die parallele Schnittstelle
anschließen. Ein Fehler und sie ist tot (eigene Erfahrung).

Gruß

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Basisadress 0x378 (decimal:888) verwendest, dann schreibst
du auf die Datenleitungen (D0-D7).
Mit der Adresse 0x379(decimal:889) kannst du ,wenn ich mich jetzt
gerade nicht täusche, auf die Eingänge zugreifen.
Und mit der Adresse 0x37A(decimal:890) kannst du dann auf die
Steuerleitungen zugreifen.

Beachte aber folgende Sachen: Die LPT-SChnittstelle ist nicht
kurzschlussfest und kann auch nicht viel Strom treiben. Und manche
Signale sind Invertiert.

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich 8 x 20mA LEDS (pro Pin eine LED)direkt treiben aus meinem
LPT????

Nimm lieber 8 x 2mA LEDs
An jede LED gehört noch ein Vorwiderstand,der den Strom auf 2 mA
begrenzt. Das kannst du direkt anschliessen.
Wenn du 20 mA LEDs betreiben willst nimm einen Transistor.

Autor: Sepp -o- (sepp_o)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal diese Seite an:
www.geocities.com/wie_schalte_ich_mit_dem_lpt

Da habe ich beschrieben wie man sich einen Adapter für den LPT  basteln
kann mit dem eigentlich nichts schief gehen kann.
(Der Teil mit dem man auch sicher Signale einlesen kann werde ich
demnächst anfügen.)

Ganz auf der letzten Seite habe ich einen Link bei dem ganz genau
beschrieben wird, wie du den LPT unter Linux, Win98, W2K und WinXP mit
C++ ansteuern kannst.

mfg Sepp

Autor: Blackbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter DOS, Win3.1, W95/98 kann man über die I/O-Adressen auf alle Ports
zugreifen. Unter W2K, NT, XP nicht mehr, auch im (simulierten)
DOS(32)-Fenster nicht. Dort geht es nur mit einem Treiber, einer DLL,
usw.
Die normale Ausgabe/Eingabe geht jedoch mit CreateFile, ReadFile,
WriteFile. Für die serielle Schnittstelle gibt es noch ein paar
Funktionen mehr, mit denen eine komfortable Bedienung möglich ist. Sie
ist außerdem kurzschlußfest.


Blackbird

Autor: *.* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ist außerdem kurzschlußfest.

Ich würds nicht drauf ankommen lassen.

Autor: Blackbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.wer-weiss-was.de/theme59/article1271731.html

Oder Standard lesen.

Oder einfach nachdenken: wenn statt einem Nullmodem-Kabel mal ein
1:1-Kabel gesteckt wird, liegen beide TxD aufeinander (beide -10V).
Sendet jetzt ein PC, so wird mindestens einer +10V einschalten. Und das
ist dann mehr als nur Kurzschluß!

Sicher hält sich nicht jeder Mainboard-Hersteller an die Spezifikation.
Mit Absicht kurzschließen auf Dauer ist nicht empfehlenswert, auch bei
seriellen Schnittstellen.

Die LPT-Port-Ausgänge sind jedoch vollkommen ungesichert. Eine zu hohe
Schaltspannung oder ein zu hoher Schaltstrom, auch kurzzeitig, bedeutet
das sofortige, irreversible Aus.
Die LPT-Eingänge sind gegen negative Spannungen und Überspannungen
ungeschützt.

Blackbird

Autor: Anonymous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Port95NT.exe gibt es das Problem, dass nur 32-Bit-Windows läuft;
was gibt es denn für 64-Bit-Windows?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.