mit C port ansteuern



  • Hallo , ich möchte gerne wissen wie ich über die ports von
    COM 1

    eine LED an/ausmache

    logisch - erstmal mit userport den port in XP freischallten und dannach weis ich nicht weiter ...

    also damals hatte ich ein LPT - port aber ich hab nen neues motherboard , und das hat nur noch ein Com 1 port

    nun bei LPT waren das immer :

    pin 19 und pin 1 und dann der code:

    _outp(0x378 , 0x00)  = aus
    _outp(0x378 , 0x01)  = an
    

    aber wie ist das bei COM1 (der mit 12 Volt) ?



  • ^^dafür kannste die ausgänge zur flussteuerung nehmen, aber vorsicht, da kommen -15...+15 volt raus. zum ansteuern unter windoofs: http://wookey.org/usermodehardwareportio.html
    🙂



  • Hi,
    bei seriellem COM-Port mußt Du Dich zum Glück nicht mit "userport" (was auch immer das ist) oder gar mit "_outp()" rumschlagen.
    Für COM-Port gibt es fertige Win32-API Funktionen! (das gilt leider nicht für den parallelen LPT-Port)

    Folgenden Code löscht die Leitung DTR:
    (natürlich setzt das voraus, daß der COM-Port erfolgreich initialisiert und geöffnet wurde!)

    b_return = EscapeCommFunction( handle_comport, CLRDTR );  //DTR
    if ( b_return == 0 )
    {
      //Fehler_aufgetreten
    }
    

    Dto, jedoch für die Leitungen RTS und TXD:

    b_return = EscapeCommFunction( handle_comport, CLRRTS );   //RTS
    b_return = EscapeCommFunction( handle_comport, CLRBREAK ); //TXD
    

    Und hier der jeweilige Gegenpart (Setzen der Leitungen):

    b_return = EscapeCommFunction( handle_comport, SETDTR );
    b_return = EscapeCommFunction( handle_comport, SETRTS );
    b_return = EscapeCommFunction( handle_comport, SETBREAK );
    

    Übrigens:
    Logisch "0" = "ON" = Spannung +3V bis +15V am Ausgang
    Logisch "1" = "OFF" = Spannung -3V bis -15V am Ausgang

    Wenn wir schon beim Ausgeben dabei sind, hier gleich auch die Input-Funktion dazu:
    Um die Signale von CTS, DSR, RI und DCD abfragen zu können, greifst Du auf die Funktion GetCommModemStatus() zurück.

    HTH,
    Martin


Anmelden zum Antworten