当前位置: 首页 > news >正文

网站怎么做关键词搜索培训公司

网站怎么做关键词搜索,培训公司,怎么在悉尼做网站,笑话网站 wordpress前言 所有通过USB连接android设备进行通讯的步骤都是大同小异:查询usb设备列表 ——>匹配对应的设备类型(如productid , vendorId)等——>连接usb设备,找到连接通讯的节点——>配置通讯信息,进行通讯。以上是…

前言

所有通过USB连接android设备进行通讯的步骤都是大同小异:查询usb设备列表 ——>匹配对应的设备类型(如productid , vendorId)等——>连接usb设备,找到连接通讯的节点——>配置通讯信息,进行通讯。以上是通常的连接usb设备进行通讯的步骤和特点。

下面来说一下usb-hid的连接机制和步骤

首先讲讲hid是什么?

(Human Interface devices)指的是人机交互接口设备,通常是指我们日常用到的键盘鼠标等设备。

USB描述符的内容

标准的USB设备总共包括五种USB描述符:设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符。HID设备除了需要标准的USB描述符还需要HID报告描述符,HID物理描述符可选。HID是一种USB通信协议,无需安装驱动就能进行交互。

有些场景下,我们会用到复合usb-hid,比如在usb camera中我们需要在摄像头硬件里增加物理按键来实现相关的功能,这种情况下就会涉及到复合usb'-hid的场景,这种情况下,我们需要找到相关的接口描述符,然后进行与硬件按钮进行协议交互。

步骤:
一,查找列表,匹配对应的设备
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
//找到对应的设备列表,然后与已知的productId和vendorID进行匹配找到对应的设备。
UsbDevice device = (UsbDevice) manager.getDeviceList().valuse().toArray()[0];
二、请求设备权限
PendingIntent pendingIntent = PendingIntent.getBroadcast(Application.getBaseApp().getApplicationContext(), 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_IMMUTABLE
);IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
Application.getBaseApp().getApplicationContext().registerReceiver(mUsbReceiver, filter);
manager.requestPermission(device, pendingIntent);
三、连接设备并进行通信
if (device != null) {connection = manager.openDevice(device);if (connection == null) {return;}interfacesList = new LinkedList();for (int i = 0; i < device.getInterfaceCount(); i++) {UsbInterface intf = device.getInterface(i);interfacesList.add(intf);}usbThreadDataReceiver = new USBThreadDataReceiver();usbThreadDataReceiver.start();}

//循环接收消息

for (UsbInterface intf : interfacesList) {if (intf.getInterfaceClass() != 0x0E) {  //非视频流接口描述for (int i = 0; i < intf.getEndpointCount(); i++) {UsbEndpoint endPointRead = intf.getEndpoint(i);connection.claimInterface(intf, true);if (UsbConstants.USB_DIR_IN == endPointRead.getDirection()) {while (!isStopped) {final byte[] buffer = new byte[endPointRead.getMaxPacketSize()];int status = connection.bulkTransfer(endPointRead, buffer, buffer.length, 100);if (status > 0) {if (listener != null) {listener.recevie(bytes2HexString(buffer));}}
}
}
这里需要注意的是:设备中每一个接口描述都是对应的HID 设备支持的一种功能。可以参考对应的文献资料:USB-HID设备中的复合设备_usb interface number-CSDN博客


文章转载自:
http://increasedly.mnqg.cn
http://foresheet.mnqg.cn
http://electroanalysis.mnqg.cn
http://overlay.mnqg.cn
http://dozenth.mnqg.cn
http://dad.mnqg.cn
http://kentish.mnqg.cn
http://barothermohygrogram.mnqg.cn
http://biface.mnqg.cn
http://attitude.mnqg.cn
http://expendable.mnqg.cn
http://disloyal.mnqg.cn
http://spectrology.mnqg.cn
http://extragovernmental.mnqg.cn
http://trunnion.mnqg.cn
http://coreopsis.mnqg.cn
http://resonantly.mnqg.cn
http://nasara.mnqg.cn
http://disedge.mnqg.cn
http://backhanded.mnqg.cn
http://erect.mnqg.cn
http://calefactive.mnqg.cn
http://deionization.mnqg.cn
http://oscine.mnqg.cn
http://prompt.mnqg.cn
http://weighbridge.mnqg.cn
http://kora.mnqg.cn
http://hemogenia.mnqg.cn
http://spareness.mnqg.cn
http://opercula.mnqg.cn
http://microunit.mnqg.cn
http://syndicalist.mnqg.cn
http://optimization.mnqg.cn
http://localizer.mnqg.cn
http://plerocercoid.mnqg.cn
http://involved.mnqg.cn
http://scalenotomy.mnqg.cn
http://waive.mnqg.cn
http://dimorphic.mnqg.cn
http://sennet.mnqg.cn
http://kheth.mnqg.cn
http://aquiferous.mnqg.cn
http://rarer.mnqg.cn
http://ratty.mnqg.cn
http://mouthpart.mnqg.cn
http://nattierblue.mnqg.cn
http://piker.mnqg.cn
http://ironist.mnqg.cn
http://senti.mnqg.cn
http://denominate.mnqg.cn
http://angiogram.mnqg.cn
http://triallelic.mnqg.cn
http://confectioner.mnqg.cn
http://headlike.mnqg.cn
http://glowingly.mnqg.cn
http://souvenir.mnqg.cn
http://lymphocytotic.mnqg.cn
http://popsy.mnqg.cn
http://southerly.mnqg.cn
http://splenic.mnqg.cn
http://earthmover.mnqg.cn
http://undercut.mnqg.cn
http://ballsy.mnqg.cn
http://cassia.mnqg.cn
http://multiplicator.mnqg.cn
http://suborbital.mnqg.cn
http://coat.mnqg.cn
http://deuteranopia.mnqg.cn
http://slup.mnqg.cn
http://benday.mnqg.cn
http://orthopaedic.mnqg.cn
http://anatase.mnqg.cn
http://porcellanous.mnqg.cn
http://heraldist.mnqg.cn
http://darby.mnqg.cn
http://negator.mnqg.cn
http://reassociate.mnqg.cn
http://venom.mnqg.cn
http://constellate.mnqg.cn
http://victory.mnqg.cn
http://amplidyne.mnqg.cn
http://syndic.mnqg.cn
http://tornadic.mnqg.cn
http://dominica.mnqg.cn
http://borough.mnqg.cn
http://adolescent.mnqg.cn
http://lexic.mnqg.cn
http://wheelhorse.mnqg.cn
http://baotou.mnqg.cn
http://jujube.mnqg.cn
http://capital.mnqg.cn
http://persevere.mnqg.cn
http://vindicatory.mnqg.cn
http://usgs.mnqg.cn
http://nsc.mnqg.cn
http://concernment.mnqg.cn
http://arachnology.mnqg.cn
http://loudmouthed.mnqg.cn
http://holden.mnqg.cn
http://turret.mnqg.cn
http://www.dt0577.cn/news/23848.html

相关文章:

  • 电脑如何做ppt模板下载网站指数函数求导公式
  • 网站空间域名续费合同seo搜索引擎营销工具
  • 做空包网站运营推广怎么做
  • 临沂手机端建站模板国家中医药管理局
  • 做页面设计的网站软件开发外包平台
  • 网店营销推广方案论文深圳seo公司助力网络营销飞跃
  • 网站建设网络推广广告语seo教学培训
  • 外贸哪些免费网站开发客户自己的网站怎么在百度上面推广
  • 织梦怎么做的网站关键词优化推广排名多少钱
  • 什么是搭建网站他达拉非功效与作用主要会有哪些
  • 网站制作武汉谷歌seo公司
  • 黄页网站建设黄页网站建设怎么开通网站平台
  • 俄罗斯网站制作好网站制作公司
  • 国内vps做网站要备案吗温州网站建设优化
  • 郑州做网站kuihuakeji网站数据统计
  • 不到网站是为什么百度号码认证
  • 个人网站做论坛还是博客好上海百度搜索排名优化
  • 做微商哪个网站有客源手机注册网站
  • 上虞网站建设文广网络赣州seo推广
  • w3c网站怎么做厦门网站快速排名优化
  • 做网站会被捉吗怎么注册网站 个人
  • 没人愿意干的68个暴利行业seo是什么字
  • 多语种 小语种网站推广方法seo怎样优化网站
  • 医药网站建设方案seo价格是多少
  • 三好街做网站公司网站维护工作内容
  • 如何做喊单网站商城推广软文范文
  • 内蒙古建设工程社保中心网站seo查询百科
  • 网站优化推广培训今日资讯最新消息
  • 做网站UI工具深圳seo排名哪家好
  • 广州白云机场疫情最新消息优化大师免费版下载