Привет всем, что я пытаюсь включить и выключить A / V-ресивер, с помощью следующей команды RS232:
@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)
Однако я не могу заставить его работать в моем приложении на C #:
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
Я думаю, что причина, по которой он не работает, заключается в том, что "\ r" и "\ n" заменяют vb6 Chr $ (13) & Chr $ (10).
CommunicationManager.cs: http://snipt.org/xmklh