1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Schnietzel

Beiträge von Schnietzel

  • Com Port auslesen mit CommMG

    • Schnietzel
    • 7. Oktober 2014 um 11:05

    Hex-Daten bekomme ich wenn ich die Übertragung mit dem Port-Monitor beobachte.
    AutoIt bekommt Bytes von der Seriellen Schnittstelle, soweit ich das erkenne, und die werden dann in Chars umgewandelt und in der Datei gespeichert.
    Aber die Bytes stimmen vorne und hinten nicht, ich hab mal ein bisschen rumprobiert, das wären die ersten 10 Hex-Daten:

    Code
    0D 0A 4D 4F 44 45 4C 20 20 20

    und das die Bytes:

    Code
    13 10 83 138 170 197 5 2 2

    Die ersten beiden Stimmen ja noch überein, aber Nummer 8-10 sollten ja eigentlich zumindest in der Codierung gleich sein :/

  • Com Port auslesen mit CommMG

    • Schnietzel
    • 7. Oktober 2014 um 08:47

    Hallöchen,
    ich hab da ein Gerät an meiner Seriellen Schnittstelle, welches auf Knopfdruck Daten in meinen Rechner schubst. Das funktioniert auch einwandfrei, wenn ich die Schnittstelle mit nem Port-Monitor beobachte, kommen da schöne brauchbare Hex-Werte raus.
    Jetzt will ich die Daten aber mit einem AutoIt Script benutzen, hab also nach einer Möglichkeit gesucht und CommMG gefunden.

    Habs dann schnell wiefolgt in mein Script eingebaut:

    C
    #include 'CommMG.au3'
    #include <windowsconstants.au3>
    #include <FileConstants.au3>
    
    
    $Port = " 1"
    $Err = ""
    $Baud = "9600"
    $BitR = "8"
    $Ka1 = "2"
    $Parity = "1"
    $Ka2 = "2"
    _CommSetPort($Port, $Err, $Baud, $BitR, $Ka1, $Parity, $Ka2)
    
    
    $TempFile = FileOpen("Temp.txt",2)
    
    
    While 1
    	$instr = _commGetLine(@CR, 20, 200);_CommGetString()
    
    
    	If $instr <> '' then
    		FileWrite($TempFile, $instr & @CRLF)
    	Else
        	Sleep(20)
    	EndIf
    
    
    WEnd
    Alles anzeigen

    Und ich bekomm Tatsächlich Daten in meine Temp.txt geschrieben, aber anstatt schöner Hex-Werte bekomm ich dann sowas:

    Code
    SŠªÅÙÕ00KL¦HøSN
    HH$$IšªÅÁ18Cá
    
    
    
    
    ªQ*’ªÕ%I  HH¦Hø
    DAªQH$$ÂjMP-LMHøA
    P¨ê
    ‚ÁÁ3 HH¤HˆU5
    QMO¢QÈ24šPUÕªHüSIª
    QH¤©i±ébe¹VHøª)UT
    *¹ LX¬K5)SIªQ&$
    Alles anzeigen

    Und das, obwohl ich die _CommSetPort Parameter eigentlich so eingestellt habe wie im Port-Monitor auch.

    Wie kommt das, und was kann ich tun, dass mir das Programm schöne Hex-Werte ausspuckt?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™