HDF(Hardware Driver Foundation)驱动框架是HarmonyOS硬件生态开放的基础,为开发者提供了驱动加载.驱动服务管理和驱动消息机制等驱动能力,让开发者能精准且高效地开发驱动程序. 本期,我们将为大家带来HDF驱动框架中USB DDK的解析与指导. 一.USB DDK介绍 USB(Universal Serial Bus)通用串行总线,用于规范电脑与外部设备的连接和通讯,包含了主机端(Host)和设备端(Device).其中,主机端负责USB总线中的数据传输及端口管理…
上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1,调用SetupDiGetClassDevs()获取指定设备类型的句柄: 2,调用SetupDiEnumDeviceInfo()枚举设备信息: 3,调用SetupDiGetDeviceRegistryProperty()获取设备信息. 具体实现函数如下: int enum_usb_device_info()…
前面我们介绍了枚举系统中的U盘盘符(见<Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>).以及获取USB设备的信息(见<Windows下USB磁盘开发系列二:枚举系统中所有USB设备>).有个时候我们不仅仅需要获取U盘盘符(路径),而且需要获取该U盘的硬件信息,比如厂商.friendly name.描述等等.那么我们可以通过前面两个方法,把U盘盘符和设备信息匹配起来吗?答案是肯定的,下面介绍具体的实现方法. 具体方法如下: 1,获取U盘盘符(路径): 2,对U盘路径调…
在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在iOS开发者中心: iOS Provisioning Portal 创建一个AppID,如图: 2,生成iOS Push Service证书,如图: 按照上述提示操作: 回到iOS Provisioning Portal: 点击“Download”下载iOS Push Service证书文件,如图:…
Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合.业务的灵活调整组合以及系统的高可用性.为业务创新和业务持续提供了一个良好的基础平台.本文包括下面若干内容. 1.微服务技术框架中的多层数据架构设计 2.数据架构设计中的要点 3.要点1:数据易用性 4.要点2:主.副数据及数据解耦 5.要点3:分库分表 6.要点4:多源数据…
史上最全USB HID开发资料 史上最全USB HID开发资料,悉心整理一个月,亲自测试. 涉及STM32 C51 8051F例子都有源码,VC上位机例子以及源码,USB协议,HID协议,USB抓包工具,开发文档,开发过程文档. 有了这个资料包,你再说开发不了USB HID,打死我都不信!好资料当然一分都不能少!  内容截图:   内容简介:  STM32_USB_Demo例子:USB虚拟串口.HID.游戏手柄.USB音频传输等demo源码. STM32_USB_HID_PC_demo:USB…
USB 基本知识 USB的重要关键字: 1.端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点.输出端点.配置端点.批量传输端点) 2.帧分为好几份,每一份中是一个USB的传输动作. 3.上行.下行:设备到主机为上行,主机到设备为下行 下面以一问一答的形式开始学习吧. 问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3…
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-translator/ "微服务"的概念在 2014 年正式提出之后,越来越多的团队开始用它来设计自己的业务系统,各种微服务框架和开发过程管理方法也同时兴起.不断成熟.微服务设计方法清晰地定义了各个开发团队的业务边界,微服务框架以不同的方式实现了服务之间的协作与集成,根据康威定律我们可以推导这…
某设备需要提供多路USB串口的功能给主机端使用,比如一路用作业务1通信功能,一路用作业务2通信功能,一路用作debug抓log用途,诸如此类.如下图所示. 要实现上述设备功能,可以参考如下步骤. 1)首先,了解一下背景知识.Linux kernel为设备端USB驱动提供了名为USB Gadget的驱动框架,设备端要基于Linux系统实现USB device功能,都需要基于Gadget框架.各种USB class定义的功能,在设备端的实现,称之为USB function.常见的USB functi…
地理围栏API服务开发 要使用华为地理围栏服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 如果需要使用地理围栏服务API,需要在"AndroidManifest.xml"文件中申请ACCESS_FINE_LOCATION权限和ACCESS_COARSE_LOCATION权限: <uses-permission android:name="android.permission.ACCES…