首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过USB进行通信

通过USB进行通信
EN

Stack Overflow用户
提问于 2012-10-27 00:13:16
回答 2查看 539关注 0票数 2

在许多帖子中,我已经看到,从Android3.1开始,可以将设备用作USB主机。虽然这很好,但它实际上不是我需要的功能。我所需要的就是通过设备的USB端口进行通信,这意味着发送和接收命令。在这种情况下,谁充当主机对我来说并不重要,PC可以是主机,我的设备可以是客户端。android是否有一个功能,允许我通过usb端口发送命令并从另一端接收应答(在当前情况下,是我的电脑和一个侦听设备USB端口的应用程序)。

我已经尝试了一种方法,我的设备是主机(它是一个华硕的Transformer Pad),使用清单中的uses-功能,但UsbManager.getDeviceList返回给我一个空设备,无论什么设备连接到该设备(底座,PC,另一个安卓设备)。

EN

回答 2

Stack Overflow用户

发布于 2012-10-27 01:10:10

我知道亚洲开发银行有一些项目

因此,这可能是你的一个选择,这取决于你想做什么。

点击这里:http://android-dls.com/wiki/index.php?title=ADB

票数 0
EN

Stack Overflow用户

发布于 2013-11-12 06:07:14

您需要具有支持API或SDK的USB数据传输电缆(也称为USB数据链路电缆),然后使用以下代码。通信速度比使用WinSock(TCP/IP) over USB或串口over USB快得多。USB2.0通信速率为480 data,有效数据通信速度大于100 data,可隔离病毒和网络攻击。

代码语言:javascript
运行
复制
void CU2uDlg::OnOK() 
{
BYTE        buf[65530];
LPU2URET    pU2uRet;
BOOL        bRet;
int         ret;
CString     msgstr;

ret = u2u_open();
if (ret == -1){
    AfxMessageBox("Open U2U device Success.");
}else{
    msgstr.Format("Open U2U device fail,return:%d", ret);
    AfxMessageBox(msgstr);
    return;
}

//send data
bRet = u2u_SendData(buf, 65530, ret);
if(!bRet)
{
    msgstr.Format("Send data error,return:%d", ret);
    AfxMessageBox(msgstr);
    return;
}

//receive data
while (1){
    bRet = u2u_RecvData(recvData, dataLen, ret);
    if( !bRet )
    {
        msgstr.Format("Receive data error,return:%d", ret);
        AfxMessageBox(msgstr);
        u2u_close();
        return;
    }else{
        break;
    }
}
u2u_close();


}

请参阅:Reference1Reference2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13090592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档