Com-Port

  • Hallo,
    wider einmal eine sehr kniffelige Frage ;) :rolleyes:

    Undzwar besitzt der Com port, ja die Datenleitung für die serielle übertragung und den TXD sowie RXD. Diese kann man ja mittls Software einzeln auf high oder low schalten.

    Wie sieht es mit AutoIT aus. Was für befehle gibt es da. Also mit dem parallelen Druckerport, ist das kein Theme, die Ausgänge zu setzten.

    Danke euch Tim

  • da gibt's n paar möglichkeiten ..

    erstens über die "commMG.dll " . mit entsprechender au3 .. ( müste ab V2,8 die signale bereitstellen, die du willst ..


    oder über die Windows standart .. MSCOMM32.OCX ....


    .. dann z.b. mit ..

    Spoiler anzeigen
    [autoit]

    $MsComm1 = ObjCreate("MSCOMMLib.MsComm.1") ; überprüfung ob sich objekt com generieren lässt
    if not IsObj($MsComm1) then ; wenn nicht dann
    MsgBox(0,"Fehler"," Kann datei : mscomm32.ocx : nicht im system finden. Installation läuft")
    FileInstall("MSCOMM32.OCX", EnvGet("SystemRoot") & "\System32\MSCOMM32.OCX") ; installation der mscomm32.ocx
    Run(@ComSpec & " /c C:\WINDOWS\SYSTEM32\REGSVR32.EXE C:\WINDOWS\SYSTEM32\MSCOMM32.OCX") ; ausführung
    RegWrite("HKEY_CLASSES_ROOT\Licenses\DB4C0D00-400B-101B-A3C9-08002B2F49FB", "", "REG_SZ", "mgkgtgnnmnmninigthkgogggvmkhinjggnvm") ; registration
    RegWrite("HKEY_CLASSES_ROOT\Licenses\7BC20EDC-4A42-101B-A3C9-08002B2F49FB", "", "REG_SZ", "gifblihbhiiihbciocfbkifbqcfcdiebbiqh") ; registration
    $MsComm1 = ObjCreate("MSCOMMLib.MsComm.1") ; erneute überprüfung ob sich objekt com generieren lässt
    endif

    [/autoit] [autoit][/autoit] [autoit]

    $MsComm1.Settings = "110,N,8,1"; settings für com
    $MsComm1.Handshaking = 1 ; settings für com
    ;$MsComm1.InBufferSize = 1
    $MsComm1.InputLen = 20 ; settings für com
    $MSComm1.DTREnable = 1 ; setzt dtr signal hi
    ;MsgBox(0,"",IniRead($wrkdir&$targets,"SETUP","COM","FEHLER"))
    $MsComm1.CommPort = IniRead($wrkdir&$targets,"SETUP","COM","FEHLER") ; settings für com
    $MsComm1.PortOpen = 1 ; settings für com setzt com-port .. reservierung für script

    [/autoit] [autoit][/autoit] [autoit]

    If NOT $MsComm1.PortOpen = True then ; überprüfung ob reservierung gelungen
    MsgBox(0,"ERROR","kann PORT nicht Öffnen") ; error meldung
    Exit ; exit
    EndIf

    [/autoit]


    zum initialisieren .. und mit

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    While $MsComm1.CtsHolding="-1"

    [/autoit] [autoit][/autoit] [autoit]

    oder

    [/autoit] [autoit][/autoit] [autoit]

    $MSComm1.RTSEnable = $zustand

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    oder

    [/autoit] [autoit][/autoit] [autoit]

    $MSComm1.DTREnable = 1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]

    die kalälchen ansprechen .. was willste denn damit machen ? .. ne richtige communikation kriegste damit nicht hin .. oder halt mit viel vielarbeit ..

    recht grad dafür um n lämpchen am PC blinken zu lassen .. ( obwohl cih die leitungen auch schon mal vergewohltätigt hab .. ;)

    hoffe ich konnte helfen ..