c#虚拟USB端口通信问题 各位好,请教个问题.我现在想PC机上利用USB端口进行两个程序之间的通信。也就是有A,B两个程序,A程序负责向USB端口发送数据,B程序负责从USB端口接收数据。这样如何实现?谢谢大家,这个需要研究USB通信协议么?还有一个LibUsbDotNet的控件可以实现这个功能么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.baidu.com/s?bs=C%23%B6%C1%C8%A1USB&f=8&rsv_bp=1&rsv_spt=3&wd=C%23+USB&inputT=1913http://wenku.baidu.com/view/e92c3062caaedd3383c4d3ae.html希望对你有用,我也不是太懂 这样貌似没太大的意义。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#改写一段VB程序 关于字符串转化日期型与时间型的问题. select * from table1 where id in (select id from table2)其中table1,table2是两个地方不同数据库表,能否实现? dataview赋值的疑惑! 测试第二版 C# 2005 写出来的程序 会有时间限制吗? 程序自动找串口 求替换html标签的正则表达式 jmail收取邮件 中文乱码 【在C#里如何得到浏览器大小】 如果制作查找,替换功能? 复制xml Win7自带的刻录功能有没有供我们外部调用的API函数?
http://wenku.baidu.com/view/e92c3062caaedd3383c4d3ae.html希望对你有用,我也不是太懂
USB是主机端和设备端相连的方式,而一般现在的电脑主板上的USB都是主机端。这样要实现直连,就要买转接设备
例如现在市面上的USB Link电缆,但一般都配有其自带的软件程序,也用不着第三方的如果真要做,USB协议是要了解的,但不需要太深入,基本概念有就行了。至于LibUsbDotNet,应该会有用,但不会说直接用它就搞的定了
若是,你可以先試試一個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);
}
你試試吧