Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Parallel (LPT1) port und win 2000 - _inp und _outp tut nid in vc

PtrXYZ / 4 Antworten / Baumansicht Nickles

Kann mir jemand sagen wie ich mit vc zugriff auf lpt1 bekomme ? _outp und _inp tun nid, da ich ne speicherzugriffsverletzung bekomme. was kann ich sonst tun ? API vielleicht ? kann mir dazu jemand vielleicht ein kleines beispiel programm schreiben, und sagen, welche dateien ich sonst noch so brauch ? ich mein, gard eines, dass einen wert (byte) schickt, und einens das einen wert (byte) liest. so wie früher

print inp (

bei Antwort benachrichtigen
thomas woelfer PtrXYZ „Parallel (LPT1) port und win 2000 - _inp und _outp tut nid in vc“
Optionen

inp / outp gibts unter win32 nicht mehr. fuer lowlevel zugriff auf die ports muss man einen geraetetreiber schreiben, allerdings kann man viele dinge auch einfach mit den file apis machen - so zum beispiel mit OpenFile() ein handle auf den port erhalten etc.

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
PtrXYZ thomas woelfer „inp / outp gibts unter win32 nicht mehr. fuer lowlevel zugriff auf die ports...“
Optionen

Wie meinst du dass ? Mach mal bitte n kleines Beispiel !

bei Antwort benachrichtigen
thomas woelfer PtrXYZ „Wie meinst du dass ? Mach mal bitte n kleines Beispiel !“
Optionen

ein bespiel findest du z.b. in der dokumentation der OpenFile() api. damit oeffnet man eben nicht nur 'echte' dateien, sondern kann auch schnittstellen zum lesen und schreiben oeffnen und wie dateien behandeln.

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
Pitsch PtrXYZ „Parallel (LPT1) port und win 2000 - _inp und _outp tut nid in vc“
Optionen

Hi

Um unter Win2000/NT auf die Druckerports zuzugreifen, brauchst Du Treiber sonst wird es umständlich.
Am einfachsten, gehst Du mal auf die Internetseite:
http://www.eivd.ch/iai/projet/mmp.htm
Im Download, lädst Du das mmp.zip File herunter.
Die Benüzung ist einigermassen beschrieben.
Noch ein Typ:
Den Treiber mmp.sys musst Du in das WINDOWS\SYSTEM Verzeichniss kopieren.
Binde die mmp.lib in deine Programme ein.
Bei dem Packet ist auch eine mmp.dll für zB. unter VB auf die Funktionen zugriff zu haben. Achte darauf, dass während des Kompilierens unter C/C++ sich diese Datei nicht im WINDOWS\SYSTEM Verzeichniss oder in einem anderen Zugriffsverzeichnis befindet. Am besten, Du verschiebst sie auf eine Diskette, oder wenn Du sie nicht unbedingt brauchst, installiere sie gar nicht. Weil der C/C++ kompiler, greift irgendwie über die mmp.lib auf diese Datei zu, und meldet Dir einen Haufen Fehler.

Wenn alles klappt, kannst Du mit den Befehlen
MMPOpen(); // Treiber öffnen
MMPInp(Portadr); //lesen zB a = MMPInp(Portadr);
MMPOutp(Portadr, Wert); // Schreiben
MMPClose(); // Treiber schliessen
auf die Druckerports (LPT1 0x378 /LPT2 0x278 usw.) schreibend und lesend zugreifen

bei Antwort benachrichtigen