2

从来没有做过任何嵌入式或硬件编程,我主要处理网络应用程序。但是我们可能需要在 C# 中关闭/打开 USB 继电器。我获得了我们在这里购买的设备的 PDF 文件。

在文档中有一些示例代码,例如:

private void button1_ON_Click(object sender, EventArgs e)
{
serialPort1.Write(new byte[] { 0xFF, 0x01, 0x01 }, 0, 3);
}
private void button1_OFF_Click(object sender, EventArgs e)
{
serialPort1.Write(new byte[] { 0xFF, 0x01, 0x00 }, 0, 3);
}

问题是,我不需要 DLL / 某种库来访问serialPort1吗,抱歉这个垃圾问题,但我只是不确定这样的事情是如何工作的。我没有从 pdf 或网站上看到任何关于我需要参考的任何类型的图书馆的迹象。

4

3 回答 3

2

不,您只需要使用SerialPort类。我记得 USB 设备可能会将自己注册为一个名为“COM##”的串行端口,其中哈希表示数字。您将需要提供端口名称和比特率。

于 2012-06-01T13:25:56.030 回答
2

.NET 带有一个System.IO.Ports.SerialPort非常糟糕的类。这就是示例中使用的内容。如果您只需要发送数据并且不需要自动检测端口,而是有一个存储的配置文件,那么它可能会运行得很好。

如果您对启动工作线程并进行同步只是为了从串行端口读取而感到恼火,并且无法使用热插拔通知生成的即插即用端口名称,那么我建议使用另一个串行 API。Win32 还不错,我希望有一天能够发布我为工作而构建的包装器,使所有这些任务变得容易(检测何时插入设备,根据 USB 描述符字符串查找端口,提升 UI数据到达时的事件)。

于 2012-06-01T13:42:18.690 回答
1

FTDI 生产 USB/串行芯片组。使用其芯片组的 USB 设备将在您的计算机上显示为串行设备(COM 端口)。如果没有与产品软件打包,FTDI 有一个驱动程序,您可以从他们的网站下载。相当标准。

该产品 PDF 中提供了驱动程序链接。http://www.ftdichip.com/Drivers/VCP.htm

安装后,您只需通过串行通信。

于 2012-06-01T13:21:28.070 回答