3

我正在尝试将一些数据发送到通过串行端口工作的 LED 显示屏。这段代码在 VB6 上完成了这项工作,但我需要将它转换为 C#。可悲的是它不起作用。有任何想法吗?

VB6(示例)

MSComm1.CommPort = 1

MSComm1.Settings = "9600,N,8,1"

MSComm1.PortOpen = True

MSComm1.Output = Chr(170)

MSComm1.Output = Chr(2)

C#(示例)

var serialPort1 = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);

serialPort1.Open();

serialPort1.Write(((char)170).ToString());

serialPort1.Write(((char)2).ToString());

serialPort1.Close();

我认为问题出在 serialPort1.Write 函数上,但我想不通。你能帮忙吗?

4

2 回答 2

2

我刚刚解决了在 C# 中使用 MSComm 类的问题。请大家帮忙:)

于 2012-07-23T13:28:28.100 回答
1

还想出了如何使用 serialPort 类来做到这一点。重要的是使用设计器添加 serialPort1 定义,而不是使用“var serialPort1 = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);" 的手动定义。我猜我的问题是因为缺少定义。这是示例:

Byte[] _bytesToSend = new Byte[7];
_bytesToSend[0] = 170;
_bytesToSend[1] = 2;
serialPort1.Open();
serialPort1.Write(_bytesToSend, 0, _bytesToSend.Length);
serialPort1.Close();
于 2012-08-17T06:06:26.600 回答