我正在尝试将一些数据发送到通过串行端口工作的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函数,但我无法弄明白。你能帮忙吗?
答案 0 :(得分:2)
我刚刚在C#中使用MSComm类解决了我的问题。大家帮助所有人:)
答案 1 :(得分: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();