USB设备类学习笔记】的更多相关文章

usb audio class 版本目前有3个版本  分别是1.0,2.0,3.0:1.0针对各个厂家的设备具有不同的描述符,而2.0则将它们统一简化,3.0则是最新的,还没有与2.0作进一步比较:因为要写的UVC (usb video class)是同步传输,而官方USB 的中间件给出的例程只有audio的,所以接下来就参考audio编写一个usb video class,从网上的博客了解到,对于不同的设备类,只是接口描述符有所不同,其他的像 设备描述符,配置描述符,都是一样的格式,只有接口描…
一.usbmouse_as_key.c /* * drivers\hid\usbhid\usbmouse.c */ #include <linux/kernel.h>#include <linux/slab.h>#include <linux/module.h>#include <linux/init.h>#include <linux/usb/input.h>#include <linux/hid.h> static struct…
现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"     提示你安装的是"设备驱动程序"          USB总线…
1.USB的优点: 可以热插拔,即插上后可以自动识别: 系统总线供电,USB共有四根线,一根电源线,一根地线,一根D+线,一根D-线,D+和D-线是差分输入线: 可以支持多种设备,且扩展容易,通过HUB可以再一个主机上连接多个设备 传输数据的速度快,最快可达480Mbit/s 方便的设备互联:在没有主机的情况下,实现点到点的通信(还可以实现主从互换)(USB OTG) 2.USB的基本规范: USB1.0/1.1      低速情况下1.5Mbit/s:键盘.鼠标等 全速情况下12Mbit/s:…
源:基于STM32的USB枚举过程学习笔记 基于STM32的USB枚举过程学习笔记(一) 基于STM32的USB枚举过程学习笔记(二) 基于STM32的USB枚举过程学习笔记(三) 基于STM32的USB枚举过程学习笔记(四) 基于STM32的USB枚举过程学习笔记(五)…
最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段和方法进行了阅读,做好了中文翻译笔记,如下: System类学习笔记:1.最终类public final class System 这是一个final类,不允许继承2.私有构造器private System((){} 构造器被私有化,不允许创建对象3.静态代码块static{registerNati…
C++ list 类学习笔记 分类: C++ 2011-09-29 00:12 7819人阅读 评论(0) 收藏 举报 listc++iteratorvectorcconstructor 双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素.在STL中,list和vector一样,是两个常被使用的容器.和 vector不一样的是,list不支持对元素的任意存取.list中提供的成员函数与vector类似,不过list提供对表首元素的操作 push_front…
一.内容概述  采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器,符合USB规范的通信连接:PC主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被USB外设直接访问.这块专用数据缓冲区的大小,由所使用的端点数目和每个端点最大的数据分组大小所决定,每个端点最大可使用512字节缓冲区,最多可用于16个单向或8个双向端点.USB模块同P…
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯.由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的枚举,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识.主要参考资料是<圈圈教你玩USB>.USB枚举过程图解,ST官方的USB HID例程. 一,USB数据包    1.    USB数据包分类     USB总线上的数据传输以包为基本的单位.USB协议规定了四种包:令牌包.数据包.握手包.特殊包.不同的包通过包中…
学习了将近半个月的设备驱动程序的编写,也有一些体会,这里写下来也给学习做一个总结,为后面的学习做更好的准备. 首先,个人感觉驱动程序的设计是很有套路的,最基本的要求就是要掌握这些套路.所谓的套路就是一个比较标准的流程,更具体一点就是某个函数是什么时候调用,函数的作用等.这些函数都是内核提供好了的.还有一点要注意,就是写驱动程序虽说是内核编程,但是不应该过分去了解内核的相关知识,否则目标就会转移,而不是停留在我们最根本的驱动程序的学习上了. 其次,就是对驱动类型的一些看法,由于块设备和套节字还没有…