ちょっと私には、以下のRS232コマンドでこのオフのA/Vのレシーバをオンにしようとしていますすべて:C#とCommのポート
@MAIN:VOL=Down & Chr$(13) & Chr$(10)
これは私のVB6のアプリで正常に動作します:
MSCommAV.CommPort = 4
MSCommAV.RThreshold = 1
MSCommAV.Settings = "9600,N,8,1"
MSCommAV.RTSEnable = True
MSCommAV.PortOpen = True
MSCommAV.Output = "@MAIN:VOL=Down" & Chr$(13) & Chr$(10)
を
PCComm.CommunicationManager commAV = new PCComm.CommunicationManager();
commAV.Parity = "None";
commAV.StopBits = "One";
commAV.DataBits = "8";
commAV.BaudRate = "9600";
commAV.PortName = "COM4";
commAV.CurrentTransmissionType = PCComm.CommunicationManager.TransmissionType.Text; //.Hex
commAV.OpenPort();
commAV.WriteData("@MAIN:VOL=Down" + "\r" + "\n"); //Vol DOWN
私はそのが働いていない理由は、VB6のChr関数を置き換える「\ rを」と「\ nを」だと思う:私はそれは私のC#アプリケーションでの作業を取得するように見えることはできませんが
$(13)& Chr $(10)。
CommunicationManager.cs:http://snipt.org/xmklh
'PCComm.CommunicationManager'とは何ですか? – vcsjones
私はC#でシリアルポートを使うことについて何も知らないが、文字列の最後にCRLFを置くために文字列の連結を必要としない。 @MAIN:VOL = Down \ r \ n "'と書くだけです。 – Wyzard
@vcsjones:CommunicationManagerコードが追加されました。 – StealthRT