mit C port ansteuern
-
Hallo , ich möchte gerne wissen wie ich über die ports von
COM 1eine 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 AusgangWenn 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