在 C# 中连接到 SerialPort

Connection to SerialPort in C#

我一直在尝试使用 System.IO.Ports 连接到串行端口。我一直遇到没有收到回复的问题。

我正在尝试写这个:

_serialPort.Write(new byte[] { 250, 209, f1, f2, f3, f4, a1, a2, g1, g2, s, 209 }, 0, 0);
var initialResponse = _serialPort.ReadLine();

响应为空。

现在,奇怪的是这在 MatLab 中有效

s = serial('COM4');
fwrite(s, [250; 209; F1; F2; F3; F4; A1; A2; G1; G2; S; 209], 'uchar');
set(s, 'Timeout', 10);
Response = fread(s, 2)

是否存在可能导致此问题的字节数组差异?

Write 中的第三个参数告诉您应该实际写入数组的多少字节。在你的情况下它是 0,这意味着不会写入任何字节。试试这个:

var output = new byte[] { 250, 209, f1, f2, f3, f4, a1, a2, g1, g2, s, 209 };
_serialPort.Write(output , 0, output.Length);