Arduino Micro USB库
USBCore.cpp
#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \
{ , , 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs }
// DEVICE DESCRIPTOR
const DeviceDescriptor USB_DeviceDescriptor =
D_DEVICE(0x00,0x00,0x00,,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,ISERIAL,); const DeviceDescriptor USB_DeviceDescriptorB =
D_DEVICE(0xEF,0x02,0x01,,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,ISERIAL,);
|
表4、USB设备描述符的结构
|
||||
|
偏移量 |
域 |
大小 |
值 |
描述 |
|
0 |
bLength |
1 |
数字 |
此描述表的字节数 |
|
1 |
bDecriptorType |
1 |
常量 |
描述符的类型(此处应为0x01,即设备描述符) |
|
2 |
bcdUSB |
2 |
BCD码 |
此设备与描述表兼容的USB设备说明版本号(BCD 码) |
|
4 |
bDeviceClass |
1 |
类 |
设备类码: |
|
5 |
bDeviceSubClass |
1 |
子类 |
子类挖码 |
|
6 |
bDevicePortocol |
1 |
协议 |
协议码 |
|
7 |
bMaxPacketSize0 |
1 |
数字 |
端点0的最大包大小(仅8,16,32,64 |
|
8 |
idVendor |
2 |
ID |
厂商标志(由USB-IF组织赋值) |
|
10 |
idProduct |
2 |
ID |
产品标志(由厂商赋值) |
|
12 |
bcdDevice |
2 |
BCD 码 |
设备发行号(BCD 码) |
|
14 |
iManufacturer |
1 |
索引 |
描述厂商信息的字符串描述符的索引值。 |
|
15 |
iProduct |
1 |
索引 |
描述产品信息的字串描述符的索引值。 |
|
16 |
iSerialNumber |
1
|
索引 |
描述设备序列号信息的字串描述符的索引值。 |
|
17 |
bNumConfigurations |
1 |
数字 |
可能的配置描述符数目 |
引用来源:http://www.baiheee.com/Documents/090518/090518112619.htm
Arduino Micro USB库的更多相关文章
- 第四章 USB库介绍
4.1 USB库函数简介 Luminary Micro公司提供USB处理器的USB库函数,应用在Stellaris处理器上,为USB设备.USB主机.OTG开发提供USB协议框架和API函数,适用于多 ...
- Edison与Arduino通过USB对接通信
虽然Edison本身就装在一块Arduino扩展板上,但当要接的传感器太多了的时候一个扩展板也不够用了.因此需要再用一Arduino板扩展功能.而两者需要通信才能达到一个整体的效果,因此这里介绍如何用 ...
- 将手机micro USB口转换为USB type C连接器的低成本方案
我们知道USB IF提出的type C连接器的终极目标是统一各种USB 接口. 尽管USB 3.0在PC市场上发展的风生水起,但是由于USB 3.0对手机4G LTE的EMI和RFI干扰,导致市场上除 ...
- C#中的USB库 WinUSB
NET C#中的USB库WinUSB,的libusb - Win32和的libusb - 1.0.使用公共设备类,应用程序与所有未经修改的操作系统和驱动程序.大量的示例代码. http://sourc ...
- arduino中SCoop库的简单应用案例
转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...
- arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法
最近在调试红外遥控格力空调,在论坛中学到了不少东西.参考: (1)<解决问题系列(4)——红外编码分析利器使用> (2)<315Mhz模块传输替代315Mhz遥控器> 调试环境 ...
- 关于Arduino 步进电机Stepper库的一些想法
官方提供了一些库,使Arduino入门起来更加快速,我们连原理都不用懂,就能通过函数控制终端.但是,这样也带来了很多的缺陷,比如,库函数的功能有限,有些无法实现.然后还有库函数因为要考虑其他的情况,你 ...
- 手把手教你看懂并理解Arduino PID控制库——引子
介绍 本文主要依托于Brett Beauregard大神针对Arduino平台撰写的PID控制库Arduino PID Library及其对应的帮助博客Improving the Beginner’s ...
- usb库文件usb_desc.c分析
参考<圈圈教你玩USB> usb协议中使用的是小端结构,所以实际数据在传输时是低字节在先的. 设备描述符的实现: 已知每个设备都必须有且仅有一个设备描述符,它的结构在USB协议中有详细的定 ...
随机推荐
- C#根据汉字生成拼音首字母全称
static void Main(string[] args) { string s = GetChineseSpell("周杰伦"); Console.WriteLine(s.T ...
- Database Initialization Parameters for Oracle E-Business Suite Release 12 (文档 ID 396009.1)
In This Document Section 1: Common Database Initialization Parameters For All Releases Section 2: Re ...
- graph使泳道图的label横向显示
1.如果需要将label靠左边对齐,则必须重写底层源码 新增mxText的一个构造器,主要是增加了一个参数:x(代表当前的cell) function mxText(a, b, c, d, e, f, ...
- C语言统计运行时间
clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t. 在MSDN中,查得对clock函数定义如下: clock_t clock(void) ; 简单而言,就是该程序从启动 ...
- 本地搭建开发环境开发redis程序
1.因为redis是部署在linux环境下,远程要想连接到linux,首先将linux防火墙关闭: service iptables stop
- Matlab图像直方图相关函数
图像的灰度直方图(H是图像a.bmp的数据矩阵) imhist(H):%显示a的直方图 histeq(H); %将图像a进行直方图均衡化 adapthisteq(H); %将图像a进行直方图均衡化 i ...
- 利用JSP编程技术实现一个简单的购物车程序
实验二 JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...
- 【Howie玩docker】-Docker常用命令操作
attach 附加到一个运行的容器上面 --no-stdin=false Do not attach stdin --sig-proxy=true Proxify al ...
- RedMine 版本管理工具
一.介绍: Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集 ...
- Linux SSH 互信
第一步: 创建用于身份认证的两个密钥文件 ssh-keygen #注明.想省事的话打完这个命令后一直回车就行了. 第二步: 把公钥上传到目标主机上去 ssh-copy-id -i id_rsa.pub ...