ReadFile, LPT Port



  • Hi,

    für ein Schulprojekt muss ich Daten am LPT Port lesen. In etwa sollte das genauso gehen wie mit der Seriellen Schnittstellt, wo alles anstandslos funktioniert.

    Angesprochen werden die Ports per:
    hLpt = CreateFile("LPT1",GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);

    leider gibt ein:
    ReadFile(hLpt,&cRecLpt,500,&temp,NULL);

    nichts zurück (gesendet wurde vorher, daran liegts nicht - geht am Drucker ohne Probleme). Der Timeout ist auf 50ms gesetzt. Senden an einen Drucker klappt problemlos. Sende ich jedoch zwischen 2 Rechnern über mein Programm passiert nix...

    Hier: http://support.microsoft.com/default.aspx?scid=kb;EN-US;823179#13 steht: "Note You cannot read data from a parallel port by calling the ReadFile function."

    In der FAQ dieses Forums hab ich jedoch gefunden, dass es so gehen sollte...

    Kann man sonst irgendwie Daten abfragen, ohne direkt den Port anzusprechen? Weil da hab ich ja dann noch mehr trödel mit der ganzen Steuerung. Ich muss nur Daten die vom COM Port kommen zum LPT schicken und umgekehrt.

    Würde mich echt über nen Tipp freuen! 🙂

    ciao

    EDIT: Die Schnittstellen sind je auf ECP im BIOS eingestellt und haben einen Interrupt zugewiesen.



  • hi,

    schau dir das hier mal an:
    http://www.logix4u.net/
    (für Windows)

    Allerdings läuft des Ding irgendwie ned so ganz,
    wenn die parallele Schnittstelle im Bi-Directional Modus läuft.
    Keine Ahnung was des is, und wie du geschrieben hast, läuft bei
    dir sowieso ECP, da sollts funktionieren 😉

    mfg
    Martin



  • Danke, aber das ist nicht direkt, was ich suche. Auf "Low-Level" Ebene kann ich bereits auf den LPT zugreifen (kann sogar sein, dass es die von dir genannte Lib ist) und Bytes schreiben und lesen. Ich bräuchte aber was, um möglichst komfortabel komplette Strings einfach zu senden und zu empfangen ohne ein Protokoll schreiben zu müssen - eben wie das mit der Seriellen auch geht.


Anmelden zum Antworten