Forum: PC Hard- und Software keine Kommunikation über Druckerport trotz inpout32.dll


von Rocco (Gast)


Lesenswert?

Hallo,

irgendwie hängt es gerade bei mir.
Ich versuche z.Z. Ein einfaches Programm (C++) auf einem alten Laptop 
zum laufen zu bekommen.
Am PC (Win XP) läuft es. Auf den Laptop (auch Win XP) nicht.

Was auch interesant ist, ist das alle Dateleitungen (D0...D7) am PC beim 
einschalten bis Windows hochgefahren ist, an sind und an bleiben.
Am Laptop werden beim einschalten alle ein geschaltet und ab einem 
bestimmten Punkt, zudem Windwos noch hoch fährt, leuchtet nur noch D1 
und der rest wird von Windows ausgeschalten.

Die inpout32.dll ist im system32 Ordner.

Ich habe auch schon alle Einstellungen im Bios versucht (Bidirectional, 
ECP, EPP, nur Output). Leider hat nichts bewirkt.
Irgendwie lässt mich Windows nicht mit der LPT Schnitstelle 
kommunizieren.

Ich wäre für jede Idee dankbar.

fG Rocco


Und hier der Code - ein einfaches Lauflicht:
1
#include <iostream>            //schreiben in C++ Sprache
2
#include <conio.h>            //_inp() und _outp() liegt hier drin
3
#include <windows.h>        //Sleep() liegt hier drin
4
5
using namespace std;        
6
7
#define DELAY 100
8
#define LPT1 0x378
9
#define VSS 0x01    //bit für LM75 Spannungsversorgung auf HIGH
10
#define SCL 0x02    //bit für LM75 serial clock auf HIGH
11
#define SDA 0x04    //bit für LM75 serial data auf HIGH
12
13
int main ()
14
{
15
    for(int i=0; i<8; i++)
16
    {
17
    _outp(LPT1, 0x01 );
18
    Sleep(DELAY);
19
    _outp(LPT1, 0x02 );
20
    Sleep(DELAY);
21
    _outp(LPT1, 0x04 );
22
    Sleep(DELAY);
23
    _outp(LPT1, 0x08 );
24
    Sleep(DELAY);
25
    _outp(LPT1, 0x16 );
26
    Sleep(DELAY);
27
    _outp(LPT1, 0x32 );
28
    Sleep(DELAY);
29
    _outp(LPT1, 0x64 );
30
    Sleep(DELAY);
31
    _outp(LPT1, 0x128 );
32
    Sleep(DELAY);
33
   
34
    cout << "ping";
35
   
36
    }
37
38
    return 0;
39
}

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die DLL ist für diese Art von I/O-Port-Ansteuerung nicht das richtige 
Mittel.
Um _outp (und entsprechend _inp) nutzen zu können, brauchst Du einen 
Devicetreiber wie z.B. giveio.sys.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.