读书人

c#虚拟USB端口通信有关问题

发布时间: 2012-03-17 19:06:27 作者: rapoo

c#虚拟USB端口通信问题
各位好,请教个问题.我现在想PC机上利用USB端口进行两个程序之间的通信。也就是有A,B两个程序,A程序负责向USB端口发送数据,B程序负责从USB端口接收数据。这样如何实现?谢谢大家,这个需要研究USB通信协议么?还有一个LibUsbDotNet的控件可以实现这个功能么?

[解决办法]
这样貌似没太大的意义。
USB是主机端和设备端相连的方式,而一般现在的电脑主板上的USB都是主机端。这样要实现直连,就要买转接设备
例如现在市面上的USB Link电缆,但一般都配有其自带的软件程序,也用不着第三方的

如果真要做,USB协议是要了解的,但不需要太深入,基本概念有就行了。至于LibUsbDotNet,应该会有用,但不会说直接用它就搞的定了
[解决办法]
USB端口只是一个接口吧,没实例化能用吗?
[解决办法]
不能用网线?
[解决办法]
USB 有主从之分,不能直接互联的。
[解决办法]
依你的法,你的只有一台不,
若是,你可以先一USB就可以做收送的功能了
你可以先USB的2,3埠做回路
再用以下的方式接收:
private void SerialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
int mSize = this.SerialPort1.BytesToRead;

SerialPort1.Read(mRecvByte, 0, mSize);
BeginInvoke(new EventHandler(ONMLoadA), SerialPort1.BytesToRead());
//使用委托方式显示接收到的字符串
}

以下的方式送值
private void Button2_Click(System.Object sender, System.EventArgs e)
{
byte[] bytHex = null;
bytHex = new byte[(Strings.Len(Hexsj) / 2)];
int i = 0;
for (i = 1; i <= Strings.Len(Hexsj); i += 2) {
bytHex[(i - 1) / 2] = Conversion.Val("&H" + Strings.Mid(Hexsj, i, 2));
}
SerialPort1.Write(bytHex, 0, bytHex.Length);
}
你吧

读书人网 >C#

热点推荐