Re(4): Ansteuern der Schnittstelle
Geizhals » Forum » Programmierung » Ansteuern der Schnittstelle (43 Beiträge, 367 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.  Re: Ansteuern der Schnittstelle  (Psychopath am 13.04.2002, 15:30:23)
..  Re(2): Ansteuern der Schnittstelle  (simon am 13.04.2002, 15:35:35)
...  Re(3): Ansteuern der Schnittstelle  (Psychopath am 13.04.2002, 15:41:08)
....  Re(4): Ansteuern der Schnittstelle  (Psychopath am 13.04.2002, 15:41:29)
.....  Re(5): Ansteuern der Schnittstelle  (simon am 13.04.2002, 15:56:39)
...  Re(3): Ansteuern der Schnittstelle  (Tom2k am 13.04.2002, 16:47:01)
....  Re(4): Ansteuern der Schnittstelle  (simon am 13.04.2002, 18:43:25)
.  Re: Ansteuern der Schnittstelle  (TheWikkinger am 14.04.2002, 09:15:49)
..  Re(2): Ansteuern der Schnittstelle  (simon am 14.04.2002, 13:03:29)
...  Re(3): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 13:21:56)
....  Re(4): Ansteuern der Schnittstelle  (simon am 14.04.2002, 14:09:12)
.....  Re(5): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 14:16:15)
......  Re(6): Ansteuern der Schnittstelle  (simon am 14.04.2002, 14:20:12)
.......  Re(7): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 14:25:28)
........  Re(8): Ansteuern der Schnittstelle  (simon am 14.04.2002, 14:32:25)
.........  Re(9): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 14:39:23)
..........  Re(10): Ansteuern der Schnittstelle  (simon am 14.04.2002, 14:52:40)
..........  Re(10): Ansteuern der Schnittstelle  (simon am 14.04.2002, 16:29:33)
...........  Re(11): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 17:38:38)
............  Re(12): Ansteuern der Schnittstelle  (Psychopath am 14.04.2002, 17:57:12)
............  Re(12): Ansteuern der Schnittstelle  (simon am 14.04.2002, 19:00:40)
............  Re(12): Ansteuern der Schnittstelle  (simon am 14.04.2002, 19:07:58)
.............  Re(13): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 19:18:05)
..............  Re(14): Ansteuern der Schnittstelle  (simon am 14.04.2002, 19:25:34)
...............  Re(15): Ansteuern der Schnittstelle  (Tom2k am 14.04.2002, 20:03:03)
................  Re(16): Ansteuern der Schnittstelle  (simon am 14.04.2002, 21:17:14)
.................  Re(17): Ansteuern der Schnittstelle  (Öch am 16.04.2002, 12:33:10)
................  Re(16): Ansteuern der Schnittstelle  (Jack Sniper am 15.04.2002, 12:31:05)
.................  Re(17): Ansteuern der Schnittstelle  (Jack Sniper am 15.04.2002, 12:33:20)
.  Re: Ansteuern der Schnittstelle  (tscho am 18.04.2002, 13:57:33)
..  Re(2): Ansteuern der Schnittstelle  (Öch am 18.04.2002, 16:23:51)
...  Re(3): Ansteuern der Schnittstelle  (tscho am 18.04.2002, 20:11:19)
....
Re(4): Ansteuern der Schnittstelle
19.04.2002, 09:30:05
Hi!
Hier ein kleines Beispiel zur Verwendung der Funktionen. Dieses Beispiel sollte die Schnittstelle öffnen, schreiben und lesen und wieder schließen. Es läßt sich zwar compilieren, jedoch hägt das Programm beim Schreiben (WriteFile()). Ich denke mal das liegt daran, das der LPT Treiber vom Betriebssystem für Drucker geschreiben wurde und deshalb auf ein paar Handshake Signale wartet, die er ja nicht bekommt, da kein Drucker dran hängt. (Hab am Ende des Postings das Beispielprogramm angehängt).

Habe aber erst vor kurzem einen Treiber für WinNT geschrieben, mit dem man direkt auf die Register des LPT zugreifen kann. Kann ja mal versuchen, den für Win2k zu compilieren falls du direkten Registerzugriff benötigst. Sag mir halt Bescheid.

Was willst du eigentlich mit dem LPT ansteuern?



/**********************************************
* Hier das Beispiel:
**********************************************/

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
BOOL status;
unsigned char outBuf;
unsigned char inBuf;
DWORD bytesWritten;
DWORD bytesRead;

// LPT öffnen
HANDLE hLpt = CreateFile(
"LPT1",
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);

// prüfen ob LPT erfolgreich geöffnet wurde
if (hLpt == INVALID_HANDLE_VALUE) {
cout << "Fehler beim Öffnen von LPT1" << endl;
return -1;
}

cout << "LPT1 erfolgreich geöffnet!" << endl;


// 55Hex auf LPT schreiben
outBuf = 0x55;
status = WriteFile(
hLpt,
&outBuf,
sizeof(unsigned char),
&bytesWritten,
NULL);

// auf Erfolg prüfen
if (!status) {
cout << "Fehler beim Schreiben auf LPT1! status=" << GetLastError() << endl;
return -1;
}
else
cout << "schreiben erfolgreich!" << endl;
            

// von LPT lesen
status = ReadFile(
hLpt,
&inBuf,
sizeof(unsigned char),
&bytesRead, NULL);

// auf Erfolg prüfen
if (!status) {
cout << "Fehler beim Lesen von LPT1! status=" << GetLastError() << endl;
return -1;
}


cout << "Gelesener Wert: 0x" << hex << inBuf << endl;

// LPT schließen;
CloseHandle(hLpt);
return 0;
}



--- This message was written using 100% recycled electrons! ---

Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
.....  Re(5): Ansteuern der Schnittstelle  (Jack Sniper am 19.04.2002, 10:40:26)
......  Re(6): Ansteuern der Schnittstelle  (Öch am 19.04.2002, 11:10:01)
.......  Re(7): Ansteuern der Schnittstelle  (Jack Sniper am 19.04.2002, 11:30:14)
.  winio.h  (tscho am 27.04.2002, 19:50:29)
..  Re: winio.h  (tscho am 01.05.2002, 18:45:51)
...  Re(2): winio.h  (simon am 01.05.2002, 20:21:35)
....  Re(3): winio.h  (tscho am 03.05.2002, 17:56:02)
...  Re(2): winio.h  (Öch am 06.05.2002, 14:58:03)
....  Re(3): winio.h  (tscho am 07.05.2002, 15:21:58)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung