Hallo Zusammen, ich bin absoluter Neuling und experimentiere etwas mit Schreiben/Lesen eines Com ports. Dazu habe ich eine Verständnisfrage: Ich benutze den Virtual Serial Port connector von eterlogic um einen virtuellen COM1 port zu erzeugen. Zuerst sende ich den STX befehl via c++, etwa so $nrcom1->SendChar(0x02) //STX In monitoring fenster vom virtuellen port sehe ich dann: 02 . Dann versuche ich via Powershell das gleiche zu erreichen: $port.write(0x02) das ergibt beim monitoring aber 32 2 wenn ich jetzt das hier probiere $port.write(".") ergibt das 2E . Meine Frage, was hat das mit dem Punkt auf sich? Und wie kann ich es erreichen, dass ich 02 . als ausgabe bekomme? Danke für eure Hilfe.
:
Verschoben durch User
Ich kenne mich nicht mit der powershell aus, ich vermute aber das $port ein "SerialPort"-Objekt aus dem .NET-Framework ist? Dann würde ich diese Überladung nehmen: http://msdn.microsoft.com/de-de/library/ms143551(v=vs.110).aspx ...und/oder .Encoding vorher auf den korrekten Zeichensatz setzen: http://msdn.microsoft.com/de-de/library/system.io.ports.serialport.encoding(v=vs.110).aspx ...der könnte nämlich auf utf-16 zu stehen.
Also ich habe jetzt folgendes probiert [Char[]] $request = 0x02 $port.Write($request) Resultat im log: 02 . so sollte es auch sein. Wenn ich das jetzt weiterspinne kommt es wieder zu einem problem: Der eigentliche Befehl den ich verstehen/nachbauen will ist <STX>BEFEHL<ETX><CHKSUM> z.B. .004CT1000A.b (wäre ein korrekter befehl) STX = 0x02, ETX = 0x03, CHKSUM = 0x0062, BEFEHL = 004CT1000A [Char[]] $request = 0x02,0,0,4,"C",1,0,0,0,"A",0x03,0x0062 $port.Write($request) gibt mir aber . . . . C . . . . A . b Zwischen jedem zeichen ist seltsamerweise ein leerzeichen. und alle zahlen sind durch punkte ersetzt. Ich benutze die powershell auf einem windows server. Hat jemand eine idee wo der fehler liegt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.