7月18日杭州 OSC 源创会正在报名,送机械键盘和开源无码内裤 
我最近在android平板上开发一个程序,可以通过mini Usb控制外部设备,外部设备接口是串口转USB。平板和外部设备之间通过OTG线连接,设备由平板供电。 系统本意是想通过平板可以向设备发送串口指令。 我采用Android 4.0.3系统里面USb Host方法实现,目前可以发现设备并打开设备了。
问题是:我怎么通过UsbDeviceConnection类里面的controlTransfer方法设置串口的波特率,停止位。 或者有什么好的方法可以告知一二。
多谢论坛里面的高手给予指点。谢谢。。。
0
-
目前手机想通过OTG驱动华为EC122无线网卡,但是不知道如何搞驱动,华为倒是有Linux版本的驱动,有没有专家能搞出个apk的驱动安装或者其他的啊,安卓系统是4.0.4(MiUI ICS21)
0
-
引用来自“lucasli”的答案看了很多资料包括USB规范,基本上都是使用下面的方式来设置波特率和数据位的。 ret = usbConn.controlTransfer(0x40 , 0x04, 0x0008, 0, null, 0, 0); ret = usbConn.controlTransfer(0x40 , 0x03, 0x0271, 0, null, 0, 0);
但是在我的PAD上确返回-1,并且无法通信。 usb host模式 应该怎么设置波特率呀 我的设备的波特率为9600 bps
0
-
我也有类似的问题需要解决呀。。LZ 怎么才能详细请教你啊 ?
0
-
你好,我想问问,我的程序一到claimInterface(usbInterface, forceClain);就出错,后面的controlTransfer()就没法用了,希望给点建议啊!
--- 共有 1 条评论 ---
-
ydww
你好,调用connection.claimInterface(intf, false);出错,是connecion=null,现在我也遇到了这个问题,请问您解决了没,可以请教一下吗
(2年前)
回复
0
-
您好,直接使用 UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while(deviceIterator.hasNext()){
UsbDevice device2 = deviceIterator.next();
System.out.println("device2--------"+device2);
//your code
}返回了null,请问怎么回事呢
--- 共有 1 条评论 ---
-
chm_love
这里返回的是已连接的设备,返回null可能是:
1.没有任何外部设备连接(比如通过otg连接读卡器)
2.你连接的是电脑
(1年前)
回复
0
-
问题已解决
deviceConnection=manager.openDevice(device); if(!manager.hasPermission(device)){ //请求UsbManager接入device
manager.requestPermission(device, mPermissionIntent); }
--- 共有 1 条评论 ---
-
九十度
usbDeviceConnection.claimInterface(usbInterface, true),,,,运行出错你是怎么解决的
(2年前)
回复
0
-
成都富士达淘宝上有现成产品和通讯软件,安卓usb 转 232,不要otg支持
0
-
我想请问 Android USB HOST android.hardware.usb.host.xml这个文件PUSH system/etc/persision 出错只读文件 怎么解决的 ?我QQ 63093090@qq.com 3Q
--- 共有 2 条评论 ---
-
llz
root后,进入adb shell,使用chmod命令将permissions目录赋权限
(2年前)
回复
-
_hongpan
root一下就可以啦
(2年前)
回复
0
-
你好,lucasli,我目前使用controlTransfer()遇到返回-1的问题,枚举设备,打开设备,获取端点0(类型为中断)等一系列动作都正常,但调用ret=mDeviceConnection.controlTransfer(0x21, 0x9, 0x200, 0, message, message.length, 0);返回-1,不知你是如何解决的?谢谢!
我的device是hid类型,在pc上对hid的端点0写数据没问题,但在三星的S3手机上controlTransfer使用写数据就不行,不知哪里设置不正常?
--- 共有 3 条评论 ---
-
alex_gaofeng
@auyang410 我想请教一下,您是什么HID设备,可以支持可读可写双向的? 鼠标键盘都是单向的
(2年前)
回复
-
符李腾
回复 @auyang410 : 请问这个UsbConnection.controlTransfer方法参数怎么传,我用其他的如:bulkTransfer和UsbRequest都拿不到数据,这个知道原因,求教、求救啊
(2年前)
回复
-
auyang410
已经可以了,controlTransfer只针对端点0,使用request可以与其它端点通信!
(2年前)
回复
|