gpt4 book ai didi

c# - 使用 C# 通过 “USB Virtual Serial Port” 与 USB 设备通信?

转载 作者:可可西里 更新时间:2023-11-01 13:06:17 29 4
gpt4 key购买 nike

我最近使用普通 USB 电缆将 USB 嵌入式设备 (mbed lpc1768) 插入 Windows 7 桌面。根据设备上运行的程序附带的文档,它通过 USB 虚拟串行端口与主机(桌面)通信。

如果我需要使用 C# 读取/写入数据,我应该从哪里开始?我可以使用 SerialPort .NET 类还是需要使用 LibUsbDotNet 库或其他东西?

最佳答案

当我发现 USB 设备在 VCP 而不是 USB-HID 中通信时,这是个好消息,因为串行连接很容易理解。

如果设备在 VCP(虚拟 Com 端口)下运行,那么它就像使用 System.IO.Ports.SerialPort 类型一样简单。您将需要了解有关设备的一些基本信息,其中大部分信息可以从 Windows 管理(设备管理器)中收集到。像这样构建之后:

SerialPort port = new SerialPort(portNo, baudRate, parity, dataBits, stopBits);

may or may not需要设置一些额外的标志,比如Request to send (RTS) 和Data Terminal Ready (DTR)

port.RtsEnable = true;
port.DtrEnable = true;

然后,打开端口。

port.Open();

要监听,您可以将事件处理程序附加到 port.DataReceived,然后使用 port.Read(byte[] buffer, int offset, int count)

port.DataReceived += (sender, e) => 
{
byte[] buffer = new byte[port.BytesToRead];
port.Read(buffer,0,port.BytesToRead);
// Do something with buffer
};

要发送,可以使用port.Write(byte[] buffer, int offset, int count)

关于c# - 使用 C# 通过 “USB Virtual Serial Port” 与 USB 设备通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19554229/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com