USB 鼠标在windows下可以用 在CH374下能成功枚举,但无法通信是什么问题? [问题点数:150分]

Bbs1
本版专家分:0
结帖率 0%
Bbs6
本版专家分:6260
Blank
红花 2018年4月 硬件/嵌入开发大版内专家分月排行榜第一
Bbs1
本版专家分:0
Bbs3
本版专家分:672
USB的“JoyStickMouse”例程分析——学习笔记(4)__枚举过程
USB的“JoyStickMouse”例程分析——学习笔记(4)__<em>枚举</em>过程
关于单片机+CH375+USB设备问题
我有一个USB转串口的血压传感器设备,想通过单片机+CH375进行控制那个血压计(血压计接收十六进制数据指令,通过USB返回的也是十六进制的指令)怎么设计啊?跪求大家帮我一下啊。其实我还要在单片机上加
解决蓝牙鼠标连接不上,系统报未知的USB设备(设备描述符请求失败)的问题
今天工作时蓝牙<em>鼠标</em>突然连接不上了,开始以为是没电了,换了新电池也不行。 打开设备管理器发现出现一个未知的 USB 设备(设备描述符请求失败)。 然后试图卸载驱动设备重新安装也卸载不了,各种驱动软件也扫描不出来<em>问题</em>。 最后祭出终极大招,直接在 BIOS 中禁用了 蓝牙,重启后去设备管理器没发现<em>问题</em>设备了, 然后再重启进入 BIOS 启用蓝牙后,再次进入系统就好了,蓝牙<em>鼠标</em>连接正常。 特此记...
科密USB驱动,考勤机
科密USB驱动 科密USB驱动,考勤机 公司用地的
USB具体通讯过程(含枚举过程)
前言    现在刚开始接触USB的开发,零零散散学习了一些USB基础知识,但是却得不到连贯。在这个学习过程中首先困惑的就是USB通讯过程究竟<em>是什么</em>样子的,我觉得做一下简单的了解后记录下来,首先从USB整体结构基础来入手直到整个通讯过程。可能有理解不到位的地方,望各位能够指正,我会及时改正。一、USB系统的结构    USB系统是由三个逻辑层组成:功能层、USB设备层和USB总线接口层。并且每一层都...
枚举 USB 复合设备
<em>枚举</em> USB 复合设备 当新的 USB 设备连接到主机时,USB 总线驱动程序将为该设备创建一个物理设备对象 (PDO),并生成一个 PnP 事件报告此新 PDO。然后,操作系统将查询总线驱动程序,以获取与该 PDO 关联的硬件 ID。 对于所有 USB 设备,USB 总线驱动程序将采用以下格式报告设备 ID: USB\VID_xxxx&PID_yyyy 注意  xxxx 和 yy
实例抓包分析USB鼠标枚举数据流 .
USB Monitor的高版本太复杂了,都不会用,这里还是使用2.5的老版本. 新建session,选择新插入的HID<em>鼠标</em>开始抓包,拔掉<em>鼠标</em>,清空记录,再次插入<em>鼠标</em>,现在就抓到了USB<em>鼠标</em><em>枚举</em>数据流 要看懂这些数据流,需要 http://hi.baidu.com/deep_pro/blog/item/3f97effa7048f814a9d31115.html http://hi.baidu
基于STM32的USB枚举
是这STM32的USB最后一篇文章,之后我们就去看一下主机USB CORE是如何与STM32进行数据交互的。 关于STM32主是大概讲解,如果不懂,看一下单片机与C语言可能有助于你的理解。 开如: STM32  USB<em>枚举</em>主要涵数是: Setup0_Process();  //Get the device request data and dispatch to individual pr
基于STM32的USB枚举过程学习笔记(一)
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯。由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的<em>枚举</em>,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识。主要参考资料是《圈圈教你玩USB》、USB<em>枚举</em>过程图解,ST官方的USB HID例程。 一,USB数据包     1.    USB数据包分类      US
STM32f103做HID时某些电脑枚举成功,修改库后可以成功
使用STM32的库进行USB-HID开发时,会出现某些电脑<em>枚举</em>不出设备的情况,通过bus hound 来抓包分析会出现 PC 发送set idle命令下去后,从设备没有响应,所以PC变为stall状态,之后<em>枚举</em>失败。通过分析源代码和HID协议,找到<em>问题</em>所在,修补漏洞之后可以在任何电脑上<em>枚举</em><em>成功</em>。 可以对比库中的源代码,可以找到修改的地方。
usb鼠标枚举过程深度解析(上)
转载自: http://blog.csdn.net/woshixingaaa/archive/2011/05/02/6384419.aspx 设备<em>枚举</em>过程: 1.         获取设备描述符 2.         复位 3.         设置地址 4.         再次获取设备描述符 5.         获取配置描述符 6.         获取接口,端点描述符
使枚举成功的USB设备成为WINUSB设备
将一个<em>枚举</em><em>成功</em>的设备作为WINUSB设备,加载WINUSB.sys作为驱动后就不用自己编写驱动了。
基于STM32的USB枚举过程学习笔记
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯。由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的<em>枚举</em>,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识。主要参考资料是《圈圈教你玩USB》、USB<em>枚举</em>过程图解,ST官方的USB HID例程。 一,USB数据包     1.    USB数据包分类
usb鼠标枚举过程深度解析(下)
转载自: http://blog.csdn.net/woshixingaaa/archive/2011/05/03/6387626.aspx Transfer5,Transfer6,Transfer7是获得字符串描述符的传输过程。Transfer5是为了获得0号字符串描述符,Transfer6是为了获得2号字符串描述符,Transfer7是为了获得1号字符串描述符。 Transfer5:
USB描述符和枚举总结 --自己总结
1. 描述符之间的关系: 设备描述符(一个设备只有一个):里面决定设备有多少种配置。                            ----实际地址 配置描述符(每种配置一个配置描述符): 定义配置里有多少接口。                        ----抽象概念 接口描述符(每个接口有一个接口描述符):定义该接口有多少端点。                 
CH374做主机操作“USB转串口芯片CP2102”的程序
CH374做主机操作“USB转串口芯片CP2102”的程序,内附程序和详细的中文注解。 void HostDetectInterrupt( void ); // 处理USB设备插拔事件中断 void SetHostUsbAddr( UINT8 addr ); // 设置USB主机当前操作的USB设备地址 void HostSetBusFree( void ); // USB总线空闲 void HostSetBusReset( void ); // USB总线复位 void HostSetFullSpeed( void ); // 设定全速USB设备运行环境 void HostSetLowSpeed( void ); // 设定低速USB设备运行环境 void Init374Host( void ); // 初始化USB主机 UINT8 GetDeviceDescr( PUINT8 buf ); // 获取设备描述符 UINT8 GetConfigDescr( PUINT8 buf ); // 获取配置描述符 UINT8 SetUsbAddress( UINT8 addr ); // 设置USB设备地址 UINT8 SetUsbConfig( UINT8 cfg ); // 设置USB设备配置
USB鼠标通信协议格式
声明:本文原出处:http://bbs.ednchina.com/BLOG_ARTICLE_2111716.HTM作者文章。 <em>鼠标</em>发送给PC的数据每次4个字节  BYTE1 BYTE2 BYTE3 BYTE4  定义分别是:  BYTE1 --         |--bit7:   1   表示   Y   坐标的变化量超出-256   ~   255的范围,0表示没有溢出  
STM32 USB 枚举分析
STM32 USB<em>枚举</em>分析 芯片:STM32F407VE 编译器:KEIL5 作者:SY 日期:2017-7-19 08:14:14 STM32 USB<em>枚举</em> 用到比较重要的寄存器:OTG_HS 主机端口控制和状态寄存器 (OTG_HS_HPRT) 系统复位 等待USB连接,延时100ms 主机对USB设备复位,主机检测到端口使能位置位,与设备建
基于CH374的USB摄像头驱动设计
  现有视频监控系统的设计大都采用 USB视频采集和以太网传输,并且需要视频压缩方案,通常需要操作系统支持;因此选取的开发平台价格昂贵,造成视频临控系统的成本居高不下,以致使小型工厂和家庭用户难以接受。本 课题采用S3C44BO微处理器的 ARM7开发平台,驱动USB接口芯片CH374进行视频数据采集,提供了低成本的视频采集方案。USB视频采集涉及USB同步传输,但是在众多USB主 机芯片的
GD32 USB调试总结
1 USB<em>通信</em>都是基于中断完成的,主要使用两个中断:复位中断、数据传输中断。 1.1 复位中断       对于复位中断来讲,设备插入主机后,并设置连接,主机识别设备连接后,会复位设备。复位后使用0默认地址,对设备进行<em>枚举</em>,<em>枚举</em>过程其实就是获取设备的各种描述符。      当设备被主机复位后,设备会对端点0的相关寄存器进行初始化。初始化完成后,设备就可以通过端点0进行控制传输,也就可以通过控
USB枚举过程分析
1. <em>枚举</em><em>是什么</em>?        <em>枚举</em>就是从设备读取一些信息,知道设备<em>是什么</em>样的设备,如何进行<em>通信</em>,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的<em>枚举</em>过程,只要<em>枚举</em><em>成功</em>了,那么就已经<em>成功</em>大半了。        USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告
Windows上HID设备上位机程序总结
Windows上HID设备上位机程序总结 1.      建立工程 Ø  Virtual Studio上建立“win32控制台”工程。 Ø  下载hid设备需要用到的头文件和lib文件到新建工程目录.         文件包括:Hid.h , hidsdi.h setupapi.h, hid.lib  。至于setupapi.lib好像不需要。 Ø  修改工程属性,添加lib
STM32USB的枚举过程简介
STM32的USB<em>枚举</em>过程介绍     之前的说明:     文中大量引用网上资料,在文后已给出资料的引用说明。文件涉及到的USB各种传输包各个位的含义以及USB标准设备请求的含义都没有做说明,推荐看《圈圈教你玩USB》里面有详细的说明
STM32开发笔记35:USB FS的枚举方法
单片机型号:STM32F401     FS是Full Speed的意思,指全速USB设备,在电路设计时,通过在DP接1.5K上拉电阻到电源的方法告知主机为全速USB设备,但是在具体使用时,还有<em>问题</em>存在,就是当单片机复位后,主机端虽然还能辨认当前USB设备,但是不能够直接使用,其原因在于USB设备重新启动后,需要完成一个<em>枚举</em>过程,以通知主机。     <em>枚举</em>的具体电路如下图所示,其原理很简单,系...
win8.1USB鼠标不能用的解决方法
win8.1系统有个怪病,USB<em>鼠标</em>有时突然就不能用了。虽然广大网友贡献了许多解决方案,但是每台电脑的情况不一样,可能你之前找的方法不适合你的电脑。大家不妨试一下我的解决方案
Windows下USB磁盘开发系列二:枚举系统中所有USB设备
上篇 《Windows下USB磁盘开发系列一:<em>枚举</em>系统中U盘的盘符》介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何<em>枚举</em>系统中所有USB设备(不光是U盘)。 主要调用的API如下: 1,调用SetupDiGetClassDevs()获取指定设备类型的句柄; 2,调用SetupDiEnumDeviceInfo()<em>枚举</em>设备信息; 3,调用SetupDiGetDeviceRegistry
vc获取windows设备枚举设备信息
#include "stdio.h" #include #include #pragma comment(lib, "setupapi.lib") void PrintDevicesInfo1() { HDEVINFO hDevInfo = SetupDiGetClassDevs(NULL, NULL, NULL, DIGCF_ALLCLASSES); if (hDevInfo ==
USB枚举的详细流程
附一个很好的<em>枚举</em>过程的详细流程: ◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态。 ◆ 主机检测设备。 ◆ 集线器使用中断通道将事件报告给主机。 ◆ 主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。 ◆ 集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求的响应。 ◆ 主机发送S
linux下自己写的usb鼠标驱动程序
linux下自己写的<em>usb</em><em>鼠标</em>驱动程序,编译加载后,能实现识别<em>鼠标</em>,和<em>usb</em><em>鼠标</em><em>通信</em>
ssh连接成功,但是不能进行通信
本文针对嵌入式linux的情况 在前几天开始切内核,然后切完能正常运行,but发现ssh上不去了一直就在 Connecting to 134.149.55.30:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. 这地方停下了。 用的是dropbear。 调试一波发现时无法创建pty...
CH374 library
CH374 library FAT32 USB IC Library
采用lib库让usb设备和pc通讯
作为设备开发者, 一般需要让设备与上位机PC通讯, 我们往往考虑采用以下几种接口: rs232, USB, ethernet. 现在在PC机上已经很难见到rs232的接口, 而ethernet也需要做特殊的配置, USB大多成为我们的首选. 对于数据偏少的应用, 我们可以利用U
C#:USB设备枚举(七)WPF扩展方法
作者:Splash 转自:http://blog.csdn.net/jhqin/article/details/6951746 [csharp] view plaincopy /* ---------------------------------------------------------- 文件名称:WPFExtensions.cs  作者
USB开设备开发学习之二: USB具体通讯过程(含枚举过程)
原文:https://blog.csdn.net/go_str/article/details/80802452  前言     现在刚开始接触USB的开发,零零散散学习了一些USB基础知识,但是却得不到连贯。在这个学习过程中首先困惑的就是USB通讯过程究竟<em>是什么</em>样子的,我觉得做一下的了解后整合后记录下来,首先从USB整体结构基础来入手直到整个通讯过程。可能有理解不到位的地方,望各位能够指正,我...
stm32USB设备的连接枚举过程
1) USB 的插入检测   当12脚短接,Q1截止,Q2导通,D+上拉,<em>windows</em> 就会认为 USB 接口有一个全速设备,马上复位总线,并开始<em>枚举</em>设备。   如果23脚短接,则 Q1状态取决于 USB-DISCONNECT(PD2)脚的状态。CPU 复位后,GPIO 引脚处于浮空输入状态。所以此时,Q1导通,Q2截止,主机检测不到设备。   在程序初始化了 US
libusb枚举设备的过程
1 调用lib<em>usb</em>_get_device_descriptor获取USB设备的设备描述符,然后调用lib<em>usb</em>_get_config_descriptor获取配置描述符、接口描述符、端点描述符信息。 2 根据上面获取的设备信息匹配设备,通常可以通过设备的PID\VID匹配,设备的class 、subclass 、protocol 来进行匹配,如果是复合设备,则根据interface的class
基于STM32的USB枚举过程学习笔记(三)
上一篇介绍到了主机上电复位USB设备,在控制传输的建立过程,发送了8个字节的数据给设备,这8个字节为0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00,该请求为USB标准设备请求中的GET_DESCRIPTOR请求。0x80表示标准设备请求,数据方向是设备到主机。0x60表示请求类型GET_DESCRIPTOR。0x01表示描述符类型是设备描述符。0x40表示描述符长度
关于WINUSB
【blog.csdn.net/lanmanck】 曾几何时我们找工作还发现有个驱动工程师职位,月薪也不低,没接触过的人代码压根看不懂。 今天可好了,如果不太追求差异化,不用驱动也能让系统与USB设备<em>通信</em>了,Linux就不说了,lib<em>usb</em>很好用,现在说下<em>windows</em>的。 Win<em>usb</em>是从XP-SP2起微软提供的一个类似lib<em>usb</em>与<em>usb</em>设备<em>通信</em>的中间件,通过它我们就不需要再费
USB-HID鼠标、键盘通讯格式
原文地址::https://www.amobbs.com/forum.php?mod=viewthread&tid=4823160&page=1&authorid=249202 想用STM32做个无线键鼠遥控、找了好几天没有找到完整的USB<em>鼠标</em>键盘协议介绍。最后自己收集整理了一份,希望对需要的朋友有所帮助。 废话不多说,进入正题: <em>鼠标</em>发送给PC的数据每次4个字节
Windows,Linux,Mac系统中,USB HID枚举过程的异同
http://www.crifan.com/order_<em>windows</em>_linux_mac_systems_<em>usb</em>_hid_similarities_and_differences_between_the_enumeration_process/ 【整理】Windows,Linux,Mac系统中,USB HID<em>枚举</em>过程的异同 【背景】  遇到一个<em>问题</em>,即一个设备,用的Silico
USB 鼠标驱动源码分析
kernel:kernel-3.4.39 UHCI: intel, 低速(1.5Mbps)/全速(12Mbps)OHCI: microsoft 低速/全速EHCI: 高速(480Mbps)    USB总线驱动程序的作用: 1、分配地址给USB设备,同时将分配的地址发给USB设备(最开始<em>通信</em>地址是端口0) 2、发出命令获取描述符 3、查找和安装对应的设备驱动程序 4、提供USB读写函...
电脑插入USB鼠标unknown device问题解决方案
我的台式机是DELL OPTIPLEX 790,系统是WIN7原装,一直以来我的USB<em>鼠标</em>都存在插入无法识别<em>问题</em>你i
USB 枚举过程
HS/FS connection detect(注意,这里的connection指的是检测到attach/termination等开始的connection,从软件层面看来是link status chg) 在这一步,因为host/device端都可以检测到对端的termination阻抗,因此确定设备插上,VBUS开始供电。通过对端termination阻抗的检测,可以确定进入SS<em>枚举</em>还
USB接口芯片CH374所有应用源码
USB接口芯片CH374所有应用源码USB接口芯片CH374所有应用源码USB接口芯片CH374所有应用源码
比较详细的USB枚举和HID枚举实例
在说<em>枚举</em>过程之前,先把一些必须了解的说明白一.USB包结构和分类     包的共同特点是,都是以同步域开始,接着是PID,最后以EOP结束,而设备端则靠SEI(串行接口引擎,硬件上实现)来进行这些底层的处理,包括CRC的校验之类的东东。    8位的PID,PID0~PID3,用于表示包,高四位进行取反,进行校验    各种包的如下:    令牌类:OUT,IN ,SOF,SETUP    数据类...
STM32 USB的枚举过程简介
本文之路与:https://blog.csdn.net/a827415225/article/details/51638223,这里只是备份,绝无抄袭之意! STM32的USB<em>枚举</em>过程介绍 之前的说明: 文中大量引用网上资料,在文后已给出资料的引用说明。文件涉及到的USB各种传输包各个位的含义以及USB标准设备请求的含义都没有做说明,推荐看《圈圈教你玩USB》里面有详细的说明 一、<em>枚举</em>前...
枚举所有USB设备代码
<em>枚举</em>所有连接的USB设备代码,编译环境VS2010 项目地址:https://gitee.com/tody_guo/ls_<em>usb</em>.git // ls_<em>usb</em>.cpp : Defines the entry point for the console application. #include &quot;stdafx.h&quot; #include &amp;lt;<em>windows</em>.h&amp;gt; #include &amp;lt...
USB之(五)设备枚举
1、<em>枚举</em><em>是什么</em>?     <em>枚举</em>就是从设备读取一些信息,知道设备<em>是什么</em>样的设备,如何进行<em>通信</em>,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的<em>枚举</em>过程,只要<em>枚举</em><em>成功</em>了,那么就已经<em>成功</em>大半了。     USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(InterruptIN Endpoint)来向主机(Host)报告。在系统启动时,主机轮询
LPC1768的USB驱动(一)----USB简介
USB总线历史: (1)USB,是Universal Serial Bus 的缩写,1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的; (2)目前主要是采用USB2.0,上一代是USB1.1和USB1.0,未来的发展方向是USB3.0; (3)USB2.0有三种工作速度:高速480Mbit/s,全速12Mbit/s和低速1.5Mbit/s,其中全速和低速是为兼容US
枚举windows串口(1)
串口
Windows下USB磁盘开发系列一:枚举系统中U盘的盘符
有个时候我们需要区分系统磁盘中,哪些是U盘,这样我们在访问的时候可以区别对待。具体方法如下: 1,调用GetLogicalDrives()返回系统盘符标记位 API GetLogicalDrives()将返回一个DWORD类型的标记值,将其转换成二进制之后,为1的位标识对应的盘符在系统中存在。比如返回值为:11100,则表示盘符C:D:E:在系统中存在,因为最低位对应盘符A。 2,调用Get
USB协议处理和枚举流程
V4L2 pixel format 1. v4l2_pix_format定义 /* * V I D E O I M A G E F O R M A T */ struct v4l2_pix_format { __u32 width; __u32 height; __u32 pixelformat; enum v4l2_field field; __u32... 2013-01-18
写了个鼠标键盘模拟器,希望对大家有用哈!
写了个<em>鼠标</em>键盘模拟器,希望对大家有用哈!
USB学习之描述符篇,协议包,枚举过程,linux系列
linux下<em>usb</em>驱动源码分析 篇二: USB学习之描述符篇 开发无线键鼠有2年多了,一直对HID这东西一知半解。赶在新项目需要重新编写USB描述符部分,开始搜集资料,深入学习。       <em>枚举</em>可以理解为主机按不定的顺序向USB设备讨要设备信息,好给它分配资源,若<em>枚举</em>不<em>成功</em>,就放弃分配资源,免得浪费资源。一般都是使用中断传输方式<em>通信</em>。     常用的描述符有以下几种:
枚举USB设备接口(C++源代码)
c++ 实现<em>枚举</em>USB设备接口 涉及函数: SetupDiGetClassDevs SetupDiEnumDeviceInterfaces SetupDiGetDeviceInterfaceDetail
实例讲解USB的枚举(配置)过程
所需要工具 USB Monitor2.26优盘一个   网上大量介绍用bus hound作监控软件,我们为什么不选bus hound而选USB Monitor呢,因为bus hound在WindowsXP环境不能监控USB<em>枚举</em>(配置)过程,它只有在Windows2000下才能实现这个功能。不过用bus hound做除<em>枚举</em>以外的数据分析还是比较好用的。USB Monitor的唯一缺点是找不到
USB枚举过程详细分析
一、USB<em>枚举</em>过程分析 1、USB的插入检测 结合智林STM32板上的USB设备接口,分析一下插入检测控制:     当12脚短接,Q1截止,Q2导通,D+上拉,<em>windows</em>就会认为USB接口有一个全速设备,马上复位总线,并开始<em>枚举</em>设备。 如果23脚短接,则Q1状态取决于USB-DISCONNECT(PD2)脚的状态。CPU复位后,GPIO引脚处于
EnumPorts枚举当前计算机端口
//--------------------------------------------------------------------------- #include #include #pragma hdrstop //--------------------------------------------------------------------------- #pragma
Windows下访问USB的几种方式
今天有一个需求,要写一个DEMO,在WIN10下监听LWin+F20、LWin+F19、LWin+F18.三个快捷键。              之前写了个DEMO,是通过修改注册表的方式,修改Iink工作区的启动对象,这种方法缺点是用户可以自己通过ink工作区修改启动对象,其次在执行修改注册表时需要管理员权限。老规矩,先贴查询过的资料HID API  相关http://blog.c...
USBTrace看到的现象
USBTrace看到了奇怪的现象,刷新之后,设备还能看到,但是原来的1,2的in和out都没有了,<em>鼠标</em>是很明确的掉线了,而后又上线了,但是设备就是没有了,在另外的一个testprogram里面,设备已经没有踪迹了,怎么会出现这样的现象呢。 debugview也没有看到有显示,怎么了呢? 把lib<em>usb</em>k的驱动再尝试一下,能不能resetdevice,如果不能的话,就是有点走投无路。
Windows与USB的通信
搞了三天,终于把<em>windows</em>的USB程序搞定了,虽然还存在一些<em>问题</em>, mark一下方便以后使用。 #include //一定要加入该头文件 #include extern "C"{ #include #include #include } using namespace std; BOOL DeviceOpen(HANDLE&handle, WORD wVID,
C++ 实现Windows系统设备枚举
1.<em>枚举</em>系统设备 HDEVINFO hDevInfo; SP_DEVINFO_DATA DeviceInfoData; DWORD dwDevID; // 得到所有设备 HDEVINFO  hDevInfo = SetupDiGetClassDevs(NULL, 0, 0, DIGCF_PRESENT | DIGCF_ALLCLASSES);//根据此处参数不同可分类<em>枚举</em>设备,这
Windows下USB驱动开发入门小结
       今年刚从学校毕业,来到公司后学了学画板子然后经理便给了我了一块板子,需要用到USB传输数据,让我学习一下Windows驱动程序开发并将这个USB驱动解决。当时一脸懵逼,便将开发板通过USB接口插上电脑后发现显示的未识别的设备,我记得在学校里都是在网上找一个USB转串口的驱动程序安装下来就可以通过串口助手来传输数据了,现在需要自己开发一个驱动程序,只会点单片机的我感觉难度巨大。   ...
经亲自实验,一台Windows电脑,同时接入2个USB鼠标和2个USB键盘,均可正常使用。
经亲自实验,一台Windows电脑,同时接入2个USB<em>鼠标</em>和2个USB键盘,均可正常使用。  今天解决了一个键盘的冲突<em>问题</em>,突然想起来一个自己想了很久一直没做的实验,一台Windows电脑,同时接入2个USB<em>鼠标</em>和2个USB键盘,结果如何。 经亲自实验,一台Windows电脑,同时接入2个USB<em>鼠标</em>和2个USB键盘,均可正常使用。 两个键盘可同时打字,均会录入,由于条
STM32串口导致电脑鼠标乱飞的解决办法
在一次烧录代码时发现stm32f103开发板一接上串口并打开电源后,电脑<em>鼠标</em>就开始乱飞,最后卡在一个角落,搜索了半天最后找到了解决办法: 1,重新上电,因为开发板带了一键下载电路,所以第一次上电,会引起几次(3~6次)MCU复位,很正常. 不要每次都按电源键来实现复位,就不存在这个<em>问题</em>了. 2,因为代码的原因,一上电,就通过串口输出数据了,而此时CH340还在和电脑<em>通信</em>,CH340在和电脑USB连...
C/C++枚举设备管理器上显示的物理串口(能够枚举出USB转串口等)
通过EnumPort获取的串口有很多不是真实的物理串口。要获取物理串口,需要通过GUID来获取设备管理器中的串口。如下是实现方式:       BOOL WcharIsDigit(WCHAR ch) { if(ch >= L'0' && ch ) { return TRUE; } return FALSE; } // The following define is
树莓派的无法USB调式
<em>问题</em>简介:由于香蕉派某芯片停产,要换为使用树莓派,但是树莓派连接电脑调试时,数据线插入电脑一直没有反应。 折腾了半天无果,(下载驱动,360手机助手,豌豆荚都试过了)。找到原因:和做硬件的哥们请教了一下,发现是端口默认设置成了OTG模式,导致无法连接数据线调试。解决方案:public void change2<em>usb</em>(){ File fileOTG = new File("/sys
USB-HID鼠标、键盘通讯格式(转) 与本人实际测试结果
USB-HID<em>鼠标</em>、键盘通讯格式(转) 与本人实际测试结果 内容为网络转载,如有版权<em>问题</em>请联系删除   USB<em>鼠标</em>键盘协议介绍。  <em>鼠标</em>发送给PC的数据每次4个字节:BYTE1 BYTE2 BYTE3 BYTE4。定义分别是: BYTE1 --        |--bit7:   1   表示 Y 坐标的变化量超出-256~255的范围,0表示没有溢出        |--bit6:  ...
usb枚举过程 enumeration 流程说明
先转载一篇关于<em>usb</em> enumeration不错的文章。 USB<em>枚举</em>过程 USB Enumeration     USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统启动时,主机轮询它的根hub(Root Hub)的状态看是否有设备(包括子hub和子hub上的设备)连接。USB总线拓扑结构见
usb鼠标枚举过程深度解析(中)
转载自: http://blog.csdn.net/woshixingaaa/archive/2011/05/03/6387488.aspx Transfer3:     Transfer3是获得配置描述符。Transaction12是SETUP Transaction,要记住令牌包指明当前Transaction的类型,所以第一个Packet328包指明当前Transacti
USB鼠标的加载、初始化和通信过程
本文转载自-------https://www.cnblogs.com/EaIE099/p/5124512.html 1、<em>usb</em>mouse的定义:<em>usb</em><em>鼠标</em>既包含<em>usb</em>设备(<em>usb</em>_device)的属性也包含input输入设备(input_dev)的属性 struct <em>usb</em>_mouse { char name[128];///USB<em>鼠标</em>设备名称 char phys[64];///路径 ...
使用Gadget 做usb鼠标键盘设备
使用Gadget 做<em>usb</em><em>鼠标</em>键盘设备 感谢TI社区提供的好帮助啊!http://e2e.ti.com/support/arm/sitara_arm/f/791/p/571771/2103409?pi316653=2 虽然海思平台和TI平台不一样 ,但也大同小异。 具体的步骤如下: 转到内核目录: //加载配置文件 cp xxx .config 修改配置 make x...
基于libUsb库实现Hid USB设备通讯
OnInitDialog()下添加如下代码: struct <em>usb</em>_bus *busses, *bus; // <em>usb</em>_dev_handle *handle = NULL; //这个需定义为全局变量,在读线程中也许使用 <em>usb</em>_init(); <em>usb</em>_find_busses(); <em>usb</em>_find_devices(); busses = <em>usb</em>_get_busses(); for(bus = busses; bus; bus = bus->next) { struct <em>usb</em>_device *dev;
从调试数据分析USB通信协议——USB键盘鼠标【HID类设备】(四)
从调试数据分析USB<em>通信</em>协议——USB键盘<em>鼠标</em>【HID类设备】(四) 平时我们在使用USB设备的时候,除了U盘使用的比较多以外,USB人体输入学设备,更是必不可少的存在,如<em>鼠标</em>,键盘。这里小编我也来简述一下HID[Human Input Device]设备。设备描述符、配置描述符这些陈词滥调,小编就不说了,这里说一下HID描述符,和HID用来定义返回数据格式的报告描述符,上面通过对U盘的
[vc++]枚举USB设备
#include #pragma comment(lib,"shlwapi.lib") #include #pragma comment(lib,"setupapi.lib") /* * 函数名称: EnumUSBDev * 函数功能: <em>枚举</em>设备 * 参 数: * acDevPath: 存放设备路径 * nDevNum: 设备数量 * 返 回 值: <em>成功</em>返回T
windows VC USB开发相关的api说明
1、头文件包含,库文件链接  在VC中开发HID应用程序时,需要包含setupapi.h和hidsdi.h,包含方式必须为extern "C",如下所示: extern "C" { // Declare the C libraries used #include "setupapi.h"  // Must link in setupapi.lib #include "hidsdi.h
触摸屏与usb鼠标同时支持
最近,做系统移植,根文件系统自己做的,移植好tslib,也可以触摸屏校准,触摸屏也可以正常使用,但是插上<em>usb</em><em>鼠标</em>时,系统能<em>枚举</em>出<em>usb</em>的信息,也能判断出是<em>鼠标</em>设备,但是移动<em>鼠标</em>,左右点击<em>鼠标</em>,屏幕上的<em>鼠标</em>就是没反应。经过一番搜索,终于找到了解决方法。 1. 首先找到设备文件(/dev/input)下有这样几个节点,mice, mouse0, event0, event1 ... ... 输入
Linux UVC 摄像头知识整理之USB概述
Linux UVC摄像头驱动流程 最近在学习USB摄像头,所谓好记性不如烂笔头,现在将自己所学的东西整理一下。 学习USB摄像头之前,先整理下USB有关概念。 1. USB 有关知识 USB<em>通信</em>采用主从结构,实现主机控制器和外围设备的<em>通信</em>。 USB主机控制器有UHCI(通用主机控制器接口),OHCI(开放主机控制器接口),EHCI(增强主机控制器接口),
VC++编程通过Windows Bluetooth API枚举蓝牙适配器及蓝牙设备
#include #include #include #include #include #include #pragma comment(lib,"Bthprops.lib") using namespace std; int main(void) { wcout.imbue(locale("")); HBLUETOOTH_RADIO_FIND hbf = NULL; H
从调试数据分析USB通信协议——基础介绍(一)
从调试数据分析USB<em>通信</em>协议——基础介绍(一) 今天小编我想深入研究一下USB协议,首先不妨让我从下面这篇博文开始:  这里小编建议先阅读一下一篇博文【博文地址http://www.docin.com/p-999767772.html】,通过以上的博文,我们了解到USB传输的头部有一个同步域,其实就是用来时钟匹配的,而USB的编码方案又用到了不归零取反【即NRZI】来传输数据,并且还用到了
android通过USB与win7进行通信
今天查了大把的资料,这东西还真搞死我了.在这
什么是usbmuxd? iDevice通过USB与桌面系统通信原理小科普
转:http://bbs.iosre.com/t/<em>usb</em>muxd-idevice-<em>usb</em>/1482 os x上,苹果有一个服务,叫<em>usb</em>muxd,这个服务主要用于在USB协议上实现多路TCP连接,将USB<em>通信</em>抽象为TCP<em>通信</em>。苹果的iTunes, XCode,都直接或者间接地用到了这个服务。 那么<em>问题</em>来了,如何让iDevice通过苹果的数据线和mac<em>通信</em>?其实不止是mac,
Android 使用USB与PC通信之ADB方式
Android 使用USB与PC<em>通信</em>之ADB方式 之前介绍过一篇使用UsbAccessary模式来与pc<em>通信</em>的文章点击链接 本篇文章介绍使用adb来进行与pc端的<em>usb</em><em>通信</em> 首先必须确保手机要打开开发者模式 android端建立socket服务端,监听10010端口 try { // 实例化ServerSocket对象并设置端口号为 10010...
RNDIS的usb网卡功能调试
http://blog.csdn.net/flyfish30/article/details/5970473 很久没有写博客了,前几天完成了rndis的<em>usb</em>网卡的移植和调试,觉得有必要记录下些东西,便在博客上作些记录。 折腾了好几天,终于给高通8250的linux内核加上了rndis的<em>usb</em>网卡功能,并保留了u盘和adb功能。总结几点经验。  1. 不改动影响面广的控制器驱动,
USB HID 鼠标信息解析
<em>鼠标</em>发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 --        |--bit7:   1   表示   Y   坐标的变化量超出-256   ~   255的范围,0表示没有溢出          |--bit6:   1   表示   X   坐标的变化量超出-256   ~   255的范围,0表示没有溢出      
电脑开机无法使用鼠标键盘的。
由于之前替朋友做过U盘写保护的恢复。导致每次开机无法使用USB的<em>鼠标</em>。   首先出现<em>问题</em>时由于使用的恢复软件安装了其他的USB的驱动。导致出USB驱动出现<em>问题</em>的。 解决办法: 根据我的发现,<em>问题</em>原因是通用串行总线控制器在注册表中对应位置有键丢失。 解决方法:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36F
USB扫描枪信号转成串口信号发给PLC
工业控制中把USB扫描枪的键盘信号转成串口信号输出给PLC
USB设备枚举(Bus Hound)
Bus Hound 6.01 capture on Windows XP Service Pack 3 (x86). Complements of www.perisoft.net 连接MT65xx的AUX V900截获到的数据   Device - Device ID (followed by the endpoint for USB devices)             (28) A
USB 作为一种通用的串行通信规范,为何在电子通信里不能完全代替 RS-232 串口?
origin: https://www.zhihu.com/question/22395639 时国怀 USB控制器、class驱动开发 协议栈太大不是主要原因,以太网协议栈也不小,但在<em>通信</em>行业的应用远远多于USB 具体原因有以下几点: 1、USB<em>通信</em>距离太短(抗干扰能力太弱),只有5米,RS232通
【转载】为什么枚举可以直接使用==
原文http://blog.csdn.net/qq_27093465/article/details/70237349 一般在Java代码里面,涉及到比较2个值的<em>问题</em>,除了是简单的一般数据类型意外,字符串除外,我们都是使用==来判断是否相等的,但是对于字符串和对象以及封装类型的数据都是使用equals方法,来判断2个值是否相等。所以,当我看到别人的代码中,<em>枚举</em>类型变量,直接使用==,来判断是不是
Win7系统下Vmware虚拟机无法使用USB设备问题的解决方法
Windows7发布后,Vmware也推出了新版的Vmware Workstation 7和Player 3,从功能上为Win7进行了优化。近日QQ上有一MM提到她的Vmware中安装的XP虚拟机只能检测到连上的USB设备(比如U盘,加密狗、手机之类),而无法加载到虚拟机中使用,虚拟机中没有USB设备的盘符。Google一下发现这似乎是一个普遍的<em>问题</em>,在Win7系统下使用Vmware虚拟机的有很多
win2008 SP2下USB鼠标不能使用的一个解决方案
在一款老本Dell vostro 1400上装了win2008 server standard sp2,好好用了两天,今天突然USB<em>鼠标</em>不能用了。 症状为:<em>鼠标</em>插上,光标闪下,不动了。4个USB接口一个都不能用。
基于STM32的USB枚举过程学习笔记(二)
接下来介绍USB设备的<em>枚举</em>,<em>枚举</em>就是从设备读取各种描述符信息,这样主机就可以根据这些信息来加载合适的驱动,从而知道<em>是什么</em>样的设备,如何进行<em>通信</em>。 <em>枚举</em>过程使用的是控制传输。控制传输可以保证数据的正确性。控制传输分三个过程:建立过程,可选数据过程及状态过程。     下面介绍<em>枚举</em>的详细过程。     USB主机检测到USB设备插入后,就会先对设备复位,并通过一个带数据过程的控制传输完成设备描述符
USB Mass Storage类设备的设计与实现
1  引言     目前嵌入式设备往往采用sd卡等大容量存储设备,用于存储媒体、图片、历史数据等文件,因此对pc主机与嵌入式设备之间的数据传输速度提出了更高的要求。本文采用freescale公司的32位微控制器mcf52233和maxim公司的<em>usb</em>外设/主机控制器max3421来实现<em>usb</em> mass storage类设备,以实现数据的高速传输。     max3421是maxim公司推出的u
USB设备的GUID
  DEFINE_GUID(DiskClassGuid,                               0x53f56307L,   0xb6bf,   0x11d0,   0x94,   0xf2,   0x00,   0xa0,   0xc9,   0x1e,   0xfb,   0x8b);     DEFINE_GUID(CdRomClassGuid,      
解决电脑usb接口无法识别u盘,键盘,鼠标问题
  报错信息为:由于设备驱动程序的前一个实例仍在内存中,Windows 无法加载这个硬件的设备驱动程序。 (代码 38) 。 上一版本的驱动程序还在内存中,因此无法加载驱动程序。   解决办法:右键“此电脑” 》管理 》设备管理器 。如果是识别不了键盘,就点开键盘,下面会有一个带有感叹号的设备,然后右键禁用设备,再启动设备(此时会要求你重启电脑),然后就解决了。   <em>鼠标</em>和u盘识别不了的话,也...
文章热词 Windows Windows教程 Windows课程 Solidity枚举 Windows视频教程
相关热词 c# usb 通信 c++此项目已过期是什么问题 c++ 的转换存在但无法访问 dreamweaver 可以用jsp 区块链问题 通信与人工智能培训
我们是很有底线的