Beiträge von solor2412
-
-
Hallo Zusammen, vor fast genau 5 Jahren habe ich hier schonmal fast die gleiche Frage gestellt.
Leider gab es damals noch keine Lösung, und wie es bisher aussieht habe ich da noch nichts neues gefunden.
Zur Frage:
Unter Win7 gibt es keine Probleme, das Autoit mittels "commg.dll" und "commMG.au" mit eine Arduino-Board kommuniziert.
Unter Win 10 funktioniert das noch nicht.
Hat hier jetzt jemand eine Lösung, so das man auch unter Win 10 von Autoit aus mit einem Arduino-Board kommunizieren kann??
Vielen Dank im Voraus
Oliver
-
unter Win10 wurde etwas an der COM Ansteuerung geändert, die Änderung ist bisher noch nicht dokumentiert. Gibt auch andere Software, die damit Probleme hat. Z.B. DMXControl.
Gruß BuphxSuper Danke für die Info, dann weis ich zumindest das sich da eventuell vielleicht in nächster Zeit gegebenenfalls wenn jemand Zeit hat, was tut.
Wer installiert sich freiwillig Windows 10?
Ich, ok nicht ganz freiwillig, da ich demnächst in absehbarer Zeit beruflich mit Rechner mit Win 10 zu tun habe.
-
Hast Du mal probiert win 10 UAC auf "null" zu fahren?
Hallo Peter,
Nein habe ich nicht. Mußte mich erstmal schlau machen was die UAC ist.
Wenn ich das richtig verstanden habe, dann meldet die UCA Zugriffe auf Systemprogramme.
Bei den Versuchen habe ich aber keine Meldung bekommen, so das ein deaktivieren nix bringen dürfte, oder?
Bin in derartigen Dingen nicht wirklich fit.Grüße
Oliver
-
Versuch macht kluch.
Hast ja recht, was das Thema Beta-Tester befrifft.
Ich gehe allerdings davon aus, dass das Problem in einer späteren Vollversion immer noch bestehen wird.
Ergo versuche ich es jetzt in Ruhe zu lösen, entweder über USB oder über Ethernet (was definitiv die unschönere Lösung wäre).MfG Oliver
-
Hallo zusammen,
ich nutze Autoit zur Kommunikation zwischen meinem PC und einem Arduino-Board.
Das ganze läuft über USB als serielle Verbindung.
Verwendet wird "commg.dll" und "commMG.au".
Bisher gab es hierbei keine Probleme.
Nach dem versuchsweisen Umstieg auf Win10 funktioniert das Ganze nicht mehr,
also das Programm, das unter Win7 läuft funktioniert unter Win10 nicht mehr.Es werden zwar die angeschlossenen/verfügbaren COM-Ports (USB-Ports) korrekt angezeigt,
aber das Verbinden mit einem/allen dieser Ports geht nicht mehr.Das Problem dürfte die "commg.dll" sein, da diese nur funktionert, wenn das Programm (autoit-EXE-File) mit einer 32-Bit-Autoit-Version erstellt wird.
Wird ja auch vom Programmierer drauf hingewiesen, dass es nur unter 32 und nicht unter 64-Bit lauffähig ist.
Die Bit-Version des Betriebssystems ist hier scheinbar egal, da mein Win7 ein 64-Bit-System ist.
Das es zwischen Win7 und Win10 Unterschiede gibt, ist klar, aber was ist zu tun damit das Ganze wieder funktioniert?Eine Suche im Netz hat bisher nix brauchbares ergeben.
Auch meine Versuche mit einer Variante ohne dll nur aus AU3-Dateien (https://www.autoitscript.com/wiki/CommAPI) funktioniert nicht.Daher nochmal meine Frage: Weis jemand eine Möglichkeit, wie man unter Win10 serielle Port für USB-Bindungen mit Autoit erstellt.
Als Anhang ein kleines Testprogramm mit Aufbau und er Kontrolle für einen seriellen Port.
Über Info und Tip würde ich mich freuen uns schonmal Danke für die Hilfe.
Oliver
AutoIt
Alles anzeigen#include <CommMG.au3> $Port1 = _CommListPorts(0); Welche Ports sind ohne Arduino verfügbar. MsgBox (0,"","Arduino anschließen") Sleep (5000) $Port2 = _CommListPorts(0); Welche Ports sind mit Arduino verfügbar. For $X = $Port2[0] To 1 Step -1 ; Bestimmung des Arduino-Ports. For $Xx = $Port1[0] To 1 Step -1 If $Port2[$X] = $Port1[$Xx] Then _ArrayDelete ($Port2, $X) ExitLoop EndIf Next Next $Port = StringReplace ($Port2[1], "COM", "") MsgBox (0,"Arduino-Port",$Port) $CMPort = $Port ; Port $CmBoBaud = 115200 ; Baud $CmboDataBits = 8 ; Data Bits $CmBoParity = "none" ; Parity $CmBoStop = 1 ; Stop $setflow = 2 ; Flow $sportSetError = '' $write=-1 _CommSetDllPath("M:\Arduino\USB_Connect_01\commg.dll") _CommSetPort($CMPort, $sportSetError, $CmBoBaud, $CmboDataBits, $CmBoParity, $CmBoStop, $setflow) $Channel = _CommPortConnection(); Abfrage des verbundenen Ports. MsgBox (0,"",$Channel); Kontrolle des verbundenen Ports.