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?