LPT1 auslesen



  • Original erstellt von <_Stefan_>:
    Oder einfach lpBuffer schreiben, was ich unlängst gemacht habe. Also, bitte vorher erst das Hirn einschalten und dann posten denn so ist keinem geholfen.

    Pech gehabt, mein Junge. Mit dir werde ich mich nicht mehr beschäftigen! Auf den Ratschlag mit dem 'lpBuffer' bist du nicht eingegangen. Das hättest du tun sollen! Sonst kann man denken, du hast das überlesen. Also gilt dein Statement von Hirn einschalten hier nur für dich! Wenn du Hilfe willst, dann verhalte dich auch entsprechend anstatt hier andere Leute anzupöbeln! ******!



  • Oder einfach lpBuffer schreiben, was ich unlängst gemacht habe.

    @WebFritzi: Jaja, wir haben alle so unsere Problemchen. Geh zum Arzt wenn dus net mehr erträgst.Und hör auf zu nerven.

    So, nun habe ich den ganzen Tag an dem Code gesessen :). Naja, er läuft zwar immernoch nicht aber ich kann jetzt an Com-Ports connecten. Wenigstens schonaml was gelernt. Das komische ist, dass am Com Port alles funktioniert. Hat keiner mehr ne Idee ?



  • Schade, dass es immer wieder solche Leute wie dich gibt, die auf einen gutgemeinten Rat eines Forenmitglieds derart beleidigend und krank reagieren müssen. Dir wird wohl keiner mehr helfen...

    [EDIT]
    Nebenbei hab ich jetzt mal unter google die Lösung deines Problems gefunden. Du solltest lernen zu Googlen, mein Freund! 😃
    [/EDIT]

    [ Dieser Beitrag wurde am 18.04.2003 um 23:44 Uhr von WebFritzi editiert. ]



  • Original erstellt von <_Stefan_>:
    Das komische ist, dass am Com Port alles funktioniert. Hat keiner mehr ne Idee ?

    Da fallen mir folgende Stichworte zu ein:

    LPT - Bi-Direktional - BIOS

    Fällt der Groschen?

    [ Dieser Beitrag wurde am 19.04.2003 um 08:17 Uhr von Hepi editiert. ]



  • Ich will einfach nur wissen warum mein Code nicht funktioniert bzw. was ich daran ändern muss dass er funktioniert.Habe auch mehere Sachen im www gefunden, nach denen funktioniert das so, bloß, es geht nicht. Und nun möchte ich einfach wissen warum nicht.



  • Sag mal...

    Ich gebe erneut Stichworte, diesmal etwas genauer...

    Ist Dein LPT im BIOS auf BI-DIREKTIONAL eingestellt???

    Mannomann....



  • Ja ist es. Aber was bringt mir das ?



  • OK, da ich mich etwas abgeregt hab, hier ein Tip: SetCommTimeouts(). 🙂



  • Oki danke dir. Hab vielleicht auch etwas überreagiert. Begraben wir das Kriegsbeil. Ich versuchs mal.zhx





  • Danke erstmal für die Links.Hier mein aktueller Code...

    t_Handle = CreateFile( "\\\\.\\LPT1", READ_CONTROL | GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
    
        if( t_Handle == INVALID_HANDLE_VALUE )
        {
            printf( "Verbindung zu LPT1 konnte nicht hergestellt werden." );
            _getch();
            exit( 1 );
        }
        else
        {
            printf( "Verbindung zu LPT1 hergestellt.\n" );
        }
    
        if( GetCommTimeouts( t_Handle, &t_CommTimeOuts ) == 0 )
        {
            printf( "GetCommTimeouts fehlgeschlagen : %d\n", GetLastError() );
            CloseHandle( t_Handle );
        }
    
        t_CommTimeOuts.WriteTotalTimeoutMultiplier= 50;
        t_CommTimeOuts.WriteTotalTimeoutConstant= 2000;
        t_CommTimeOuts.ReadIntervalTimeout= 50;
        t_CommTimeOuts.ReadTotalTimeoutMultiplier= 50;
        t_CommTimeOuts.ReadTotalTimeoutConstant= 50;
    
        if( SetCommTimeouts( t_Handle, &t_CommTimeOuts ) == 0 )
        {
            CloseHandle( t_Handle );
        }
    

    Leider funktioniert das ganze jetzt immernoch nicht. Das Programm liefert bei GetCommTimeouts immer den Wert 1 ( "Incorrect function" ) zurück und ich habe mal wieder keine Ahnung woran das liegen könnte. Momentan habe ich aber auch nur meinen Drucker an dem Port, kann es daran liegen ?

    Wieso steht eigentlich nichts von alledem ( CommTimeouts etc. ) in den FAQ ?



  • Original erstellt von <_Stefan_>:
    Wieso steht eigentlich nichts von alledem ( CommTimeouts etc. ) in den FAQ?

    Mach dir klar, was FAQ bedeutet. Dann weißt du auch, warum.



  • Hat nun irgendwer noch ne Ahnung warum das nun nicht funktioniert ?



  • Schau Dir in der MSDN mal die Themen zur Overlapped - Struktur ( Stichwort Serial Communications )an. Die Funktion ReadFile() kann blockieren, wenn Sie externe Schnittstellen ( LPT, COM ) auslesen soll und nicht in einem eigenen Thread läuft. Wäre übrigens mal ein interessantes Thema für die FAQ !?



  • Original erstellt von forAPI:

    **Schau Dir in der MSDN mal die Themen zur Overlapped - Struktur ( Stichwort Serial Communications )an.
    **
    das ändert aber nichts am eigentlichen problem, sondern macht das programm noch schwieriger zu debuggen
    **
    Die Funktion ReadFile() kann blockieren, wenn Sie externe Schnittstellen ( LPT, COM ) auslesen soll
    **
    deswegen ja auch CommTimeouts()...

    **und nicht in einem eigenen Thread läuft.
    **
    dann ist eben nicht die applikation blockiert, sondern der Thread...who cares?
    Wäre übrigens mal ein interessantes Thema für die FAQ !?
    😕

    [ Dieser Beitrag wurde am 22.04.2003 um 14:31 Uhr von flosko editiert. ]



  • Original erstellt von forAPI:
    Wäre übrigens mal ein interessantes Thema für die FAQ !?

    Nein! Ich wiederhole: FAQ = "Frequently Asked Questions" = "Häufig gefragte Fragen". Sorry, aber für dieses Thema gibt es keine häufigen Fragen.



  • Nochmal was gefunden:
    http://www.winapi.net/winapi/tutorials/serial_direkt.html
    HUUPS... geht ned. Naja, dann geh halt auf www.winapi.net und da dann auf Tutorials. 🙂

    [ Dieser Beitrag wurde am 22.04.2003 um 23:50 Uhr von WebFritzi editiert. ]





  • So, nun hab ich mir die ganzen Links angesehen und trotzdem bringt das Programm bei GetCommTimeouts einen Fehler. Was mach ich bloß falsch ?


Anmelden zum Antworten