2

我目前正在编写一个应用程序来与一个名为 Fluke 5500A Multi-Product Calibrator 的设备进行通信。校准器手册包括使用以下代码的示例 VB6 程序:

Sub Form_Load ()
    Comm1.CommPort = 1 [if using COM2, enter = 2]
    Comm1.Settings = “9600,N,8,1” [baud, parity, data, stop]
    Comm1.PortOpen = True
End Sub

命令按钮 1:

Sub Command1_Click ()
    Comm1.Output = “REMOTE” + Chr(10)
End Sub

命令按钮 2:

Sub Command2_Click ()
    Comm1.Output = “LOCAL” + Chr(10)
End Sub

命令按钮 3:

Sub Command3_Click ()
    Comm1.Output = “UUT_SEND ““<uut command>”” ” + Chr(10)
End Sub

有一个像这样的 uut 命令示例:

“UUT_SEND ““REMS\n””

我的问题是这个。是否可以使用 C# .Net 4.0 SerialPort 类来实现这种通信?我以前从未尝试过使用串行端口,对此我非常陌生,但我在 C# 中有以下内容:

        Comm1.PortName = "COM1";
        Comm1.BaudRate = 9600;
        Comm1.Parity = System.IO.Ports.Parity.None;
        Comm1.DataBits = 8;
        Comm1.StopBits = System.IO.Ports.StopBits.One;

如何像示例程序中设置的那样设置 Comm1.Output?此外,SerialPort 类中的哪些属性与此相对应?我正在尝试的东西会起作用吗?

4

1 回答 1

3

可以使用 C# .Net 4.0 SerialPort 类来实现这种通信。

请参阅以下链接以获取信息和支持。

这个女人写过书(我用过),她的论坛非常适合串口通信。您可能需要的一切都在这里:

http://www.lvr.com/forum/index.php

我还推荐 MSDN 论坛,因为我发现这对 .net 非常有用。

http://social.msdn.microsoft.com/Forums/en-us/home

以下是 MSDN 的一些链接,用于具有不同框架的串行端口类。

http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx

http://msdn.microsoft.com/en-us/library/system.io.ports.serialport(v=vs.90).aspx

用这种类型的编码不可能涵盖所有选项的来龙去脉。各种writeline、readline、readexisting、检查要读取的字节等排列方式,取决于发送的数据,是否需要定期包含回车。

我希望这有帮助。我不认为这是重写代码的地方,但是如果您在某些地方遇到困难,我当然会鼓励您发布问题。具体更好。

于 2013-07-08T20:41:24.090 回答