.Net SerialPort 和 VB6 MSComm 的工作方式是否可能不同?
在这两种情况下,我都从缓冲区读取数据,并且都得到了不同的字符串,如果我将 MSComm dll 导入到我的 .Net 项目中,它可以完美地工作(显然)。
有没有人有更多的深度信息?
如果有帮助,这是我的简单示例,在这两种情况下我都发送相同的字节数组......
VB6:
Dim MSComm1 As Object
Dim ArrToSend() As Byte
Dim IncomeData As String
Set MSComm1 = CreateObject("MSCommLib.MSComm")
With MSComm1
.CommPort = 1
.PortOpen = True
End With
ReDim ArrToSend(4)
ArrToSend(0) = 179
ArrToSend(1) = 1
ArrToSend(2) = 92
ArrToSend(3) = 92
MSComm1.Output = ArrToSend
IncomeData = MSComm1.Input
C#
SerialPort _serialPort = new SerialPort();
_serialPort.Open();
Byte[] _bytesToSend = new Byte[4];
_bytesToSend[0] = 179;
_bytesToSend[1] = 1;
_bytesToSend[2] = 92;
_bytesToSend[3] = 92;
_serialPort.Write(_bytesToSend, 0, _bytesToSend.Length);
String ReadExisting = _serialPort.ReadExisting();