搜索
bottom↓
回复: 194

为STM32的USB固件库添加了注释和串口信息打印输出(类似于圈圈教你玩USB的设备枚举信

  [复制链接]

出0入0汤圆

发表于 2011-4-13 20:37:22 | 显示全部楼层 |阅读模式
使用的是V3.21的固件库,USB标准库分为设备驱动和用户接口两层,其中设备驱动又分为底层(外设驱动)和中间层,用户接口层属于最高层。设备驱动层用户无需维护,用户如果想要操作设备驱动层,需要提供相应的回调(call back)函数;用户只需要关心用户接口层,根据不同的应用做修改。见下图:

(原文件名:结构图.jpg)
    下面主要描述的是STM32 USB设备的枚举,先看一下USB设备枚举使用的控制传输:

(原文件名:枚举1.jpg)
    STM32 USB固件的设备枚举有以下几种情况,每一次控制传输都是由建立过程开始的,然后结束于In状态过程或Out状态过程:

(原文件名:枚举2.jpg)
    添加串口信息的打印输出的代码都主要集中在usb_core.c里面。可以通过宏定义控制要打印的信息,宏定义为1则打印对应的信息:
////////////调试信息输出控制/////////////
//输出基本枚举步骤
#define USB_DEBUG0                                1
//输出详细通信数据
#define USB_DEBUG1                                0
//输出请求字符串描述的请求代码
#define USB_DEBUG_STR_DESC        0
/////////////////////////////////////////
    以下是USB Mass Storage(U盘)设备枚举时相关枚举过程信息的输出,截图只截取了部分:

(原文件名:55555.jpg)
    先写这么多,如果各位对STM32 USB设备枚举输出打印信息感兴趣的话我再把相关的代码贴出来,另外我也是通过《圈圈教你玩USB》开始学习USB的,在此对圈圈提供了那么好的入门资料表示感谢。下面是学习STM32 USB特别是设备枚举时搜集的一些资料,其中一些资料在原作者的基础上添加了目录索引,更方便阅读。
已经删除压缩包,分单文件传上,见下面:
-----------------------------------------------------------------------------------------------------------------------------
下面是完整的工程代码,使用的是U盘的枚举示例:
点击此处下载 ourdev_630731EHR8I5.rar(文件大小:7.97M) (原文件名:MyProjectV1_5(USB Mass Storage).rar)
关于文档,大家说下载不了,我就一一传上吧:
点击此处下载 ourdev_630732HQXETN.pdf(文件大小:313K) (原文件名:STM32 USB的JMouse源代码分析 1-3.pdf)
点击此处下载 ourdev_630733EELJAT.pdf(文件大小:979K) (原文件名:STM32 USB开发工具包 2.x.pdf)

点击此处下载 ourdev_630735A9CKDV.pdf(文件大小:366K) (原文件名:USB的JoyStickMouse”例程分析.pdf)
点击此处下载 ourdev_630736L51CME.pdf(文件大小:2.39M) (原文件名:基于STM32的USB程序开发笔记.pdf)
点击此处下载 ourdev_630737M4AB6N.pdf(文件大小:2.39M) (原文件名:基于STM32的USB程序开发笔记.pdf)
点击此处下载 ourdev_630738BN8ZGM.pdf(文件大小:93K) (原文件名:如何使用STM32的USB非控制端点发送多个数据包.pdf)
点击此处下载 ourdev_630739PX5ZEJ.pdf(文件大小:91K) (原文件名:如何使用STM32的USB库支持控制端点0.pdf)
点击此处下载 ourdev_630740CTQSZY.pdf(文件大小:713K) (原文件名:深入解析STM32_USB-FS-Device_Lib库V0.2.pdf)

(原文件名:sss.jpg)
    下面是我使用的板子的原理图和板子一个简要介绍(包括了上面完整工程的一个简要说明):
点击此处下载 ourdev_630742GWPJYV.pdf(文件大小:365K) (原文件名:STM32 下WiFi开发套件的使用说明.pdf)
点击此处下载 ourdev_630743O38D9Y.pdf(文件大小:52K) (原文件名:STM32 主控板V1.2.pdf)


----------------------------------------
完整的枚举信息输出见8楼,(包括了基本枚举过程,枚举中交换的数据,字符串描述符等):
----------------------------------------

出0入0汤圆

发表于 2011-4-14 12:19:03 | 显示全部楼层
顶~

出0入0汤圆

发表于 2011-4-14 12:19:58 | 显示全部楼层
下载不了,楼主能否发我一份啊?
331641857@qq.com,十分感谢~

出0入0汤圆

发表于 2011-4-14 12:27:01 | 显示全部楼层
好资料,顶

出0入0汤圆

发表于 2011-4-14 12:33:33 | 显示全部楼层
现在下不了,先标记

出10入0汤圆

发表于 2011-4-14 13:35:19 | 显示全部楼层
现在真的是下载不了!先MARK!!

出0入0汤圆

发表于 2011-4-14 15:47:38 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-14 15:50:26 | 显示全部楼层
坐等源代码....

出0入0汤圆

 楼主| 发表于 2011-4-14 21:03:06 | 显示全部楼层
*******************************
   USB 枚举串口信息输出演示
   By zidong404 2011-4
*******************************

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00
有数据的建立过程: 0x0040
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->设备描述符(18字节)
设备返回: 0x0012个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0012个数据
0x12 0x01 0x00 0x02 0x00 0x00 0x00 0x40 0x83 0x04 0x20 0x57 0x00 0x02 0x01 0x02
0x03 0x01
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x00 0x05 0x02 0x00 0x00 0x00 0x00 0x00
无数据的建立过程
标准请求->设备请求设置地址
IN0中断-->IN状态过程
设置设备地址: 0x02

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00
有数据的建立过程: 0x0012
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->设备描述符(18字节)
设备返回: 0x0012个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0012个数据
0x12 0x01 0x00 0x02 0x00 0x00 0x00 0x40 0x83 0x04 0x20 0x57 0x00 0x02 0x01 0x02
0x03 0x01
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x02 0x00 0x00 0x09 0x00
有数据的建立过程: 0x0009
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->配置描述符(9字节+(接口)9*x +(端点)7*x)
设备返回: 0x0009个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0009个数据
0x09 0x02 0x20 0x00 0x01 0x01 0x00 0xC0 0x32
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x03 0x00 0x00 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x00
设备返回: 0x0004个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0004个数据
0x04 0x03 0x09 0x04
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x03 0x03 0x09 0x04 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x03
设备返回: 0x001A个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x001A个数据
0x1A 0x03 0x43 0x00 0x41 0x00 0x37 0x00 0x41 0x00 0x37 0x00 0x46 0x00 0x34 0x00
0x37 0x00 0x33 0x00 0x38 0x00 0x33 0x00 0x30 0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x02 0x00 0x00 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->配置描述符(9字节+(接口)9*x +(端点)7*x)
设备返回: 0x0020个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0020个数据
0x09 0x02 0x20 0x00 0x01 0x01 0x00 0xC0 0x32 0x09 0x04 0x00 0x00 0x02 0x08 0x06
0x50 0x04 0x07 0x05 0x81 0x02 0x40 0x00 0x00 0x07 0x05 0x02 0x02 0x40 0x00 0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x06 0x00 0x00 0x0A 0x00
有数据的建立过程: 0x000A
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->非标准请求
-----由用户提供回调函数实现-----(类请求或厂商请求,返回如报告描述,HID描述符)
Unsupported request,STALLED->函数返回

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x03 0x00 0x00 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x00
设备返回: 0x0004个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0004个数据
0x04 0x03 0x09 0x04
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x02 0x03 0x09 0x04 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x02
设备返回: 0x0026个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0026个数据
0x26 0x03 0x53 0x00 0x54 0x00 0x4D 0x00 0x33 0x00 0x32 0x00 0x20 0x00 0x4D 0x00
0x61 0x00 0x73 0x00 0x73 0x00 0x20 0x00 0x53 0x00 0x74 0x00 0x6F 0x00 0x72 0x00
0x61 0x00 0x67 0x00 0x65 0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x03 0x00 0x00 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x00
设备返回: 0x0004个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0004个数据
0x04 0x03 0x09 0x04
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x02 0x03 0x09 0x04 0xFF 0x00
有数据的建立过程: 0x00FF
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x02
设备返回: 0x0026个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0026个数据
0x26 0x03 0x53 0x00 0x54 0x00 0x4D 0x00 0x33 0x00 0x32 0x00 0x20 0x00 0x4D 0x00
0x61 0x00 0x73 0x00 0x73 0x00 0x20 0x00 0x53 0x00 0x74 0x00 0x6F 0x00 0x72 0x00
0x61 0x00 0x67 0x00 0x65 0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00
有数据的建立过程: 0x0012
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->设备描述符(18字节)
设备返回: 0x0012个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0012个数据
0x12 0x01 0x00 0x02 0x00 0x00 0x00 0x40 0x83 0x04 0x20 0x57 0x00 0x02 0x01 0x02
0x03 0x01
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x02 0x00 0x00 0x09 0x00
有数据的建立过程: 0x0009
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->配置描述符(9字节+(接口)9*x +(端点)7*x)
设备返回: 0x0009个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0009个数据
0x09 0x02 0x20 0x00 0x01 0x01 0x00 0xC0 0x32
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x02 0x00 0x00 0x20 0x00
有数据的建立过程: 0x0020
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->配置描述符(9字节+(接口)9*x +(端点)7*x)
设备返回: 0x0020个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0020个数据
0x09 0x02 0x20 0x00 0x01 0x01 0x00 0xC0 0x32 0x09 0x04 0x00 0x00 0x02 0x08 0x06
0x50 0x04 0x07 0x05 0x81 0x02 0x40 0x00 0x00 0x07 0x05 0x02 0x02 0x40 0x00 0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x03 0x00 0x00 0x02 0x00
有数据的建立过程: 0x0002
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x00
设备返回: 0x0002个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0002个数据
0x04 0x03
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x00 0x03 0x00 0x00 0x04 0x00
有数据的建立过程: 0x0004
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x00
设备返回: 0x0004个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0004个数据
0x04 0x03 0x09 0x04
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x03 0x03 0x09 0x04 0x02 0x00
有数据的建立过程: 0x0002
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x03
设备返回: 0x0002个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0002个数据
0x1A 0x03
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x80 0x06 0x03 0x03 0x09 0x04 0x1A 0x00
有数据的建立过程: 0x001A
获取描述符(0x06)(1设备;2配置;3字符;4接口;5端点):
->设备->字符串描述符
->0语言ID,1厂商字符串,2产品字符串,3产品序列号--> 0x03
设备返回: 0x001A个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x001A个数据
0x1A 0x03 0x43 0x00 0x41 0x00 0x37 0x00 0x41 0x00 0x37 0x00 0x46 0x00 0x34 0x00
0x37 0x00 0x33 0x00 0x38 0x00 0x33 0x00 0x30 0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x00 0x09 0x01 0x00 0x00 0x00 0x00 0x00
无数据的建立过程
标准请求->设备->设置配置
-------调用用户回调函数,通常赋值bDeviceState = CONFIGURED--------
IN0中断-->IN状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0xA1 0xFE 0x00 0x00 0x00 0x00 0x01 0x00
有数据的建立过程: 0x0001
->非标准请求
-----由用户提供回调函数实现-----(类请求或厂商请求,返回如报告描述,HID描述符)
设备返回: 0x0001个数据
设备正在返回数据->DataStageIn()...
本次传输返回: 0x0001个数据
0x00
IN0中断-->In数据过程
IN数据过程完成,即将进入Out状态过程
Out0中断-->Out状态过程

Setup0 中断-->建立过程
设备可以接收新的数据
设备接收数据如下:
0x02 0x01 0x00 0x00 0x81 0x00 0x00 0x00
无数据的建立过程
标准请求->EndPoint->清除Feature
-----------调用用户回调函数------------
IN0中断-->IN状态过程

-----------------------------------------
USB设备枚举完成
-----------------------------------------
----------------------------------------------------------------------
楼主位少了一个资料,关于工程的简要说明在这个文档里面:
点击此处下载 ourdev_630748DAMFEC.pdf(文件大小:511K) (原文件名:STM32 OV7670 开发套件.pdf)

出0入0汤圆

发表于 2011-4-14 21:05:38 | 显示全部楼层
标记一下

出0入0汤圆

 楼主| 发表于 2011-4-14 21:09:37 | 显示全部楼层
回复【2楼】wuguoyan 吴国炎
下载不了,楼主能否发我一份啊?
331641857@qq.com,十分感谢~
-----------------------------------------------------------------------

请重新到楼主位下载

出0入0汤圆

发表于 2011-4-15 09:00:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 10:51:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 10:54:18 | 显示全部楼层
绝对是好资料。

出0入0汤圆

发表于 2011-4-15 10:56:34 | 显示全部楼层
回复【楼主位】zidong404
-----------------------------------------------------------------------

好东西,先Mark等着下载

出0入0汤圆

发表于 2011-4-15 11:21:42 | 显示全部楼层
刚刚说错话了,楼主上面的资料都可以在网上找到,最核心的源代码如果能提供就完美了。

出0入0汤圆

发表于 2011-4-15 15:48:22 | 显示全部楼层
好东西,收藏了

出0入0汤圆

 楼主| 发表于 2011-4-15 16:29:26 | 显示全部楼层
回复【15楼】cy757
刚刚说错话了,楼主上面的资料都可以在网上找到,最核心的源代码如果能提供就完美了。
-----------------------------------------------------------------------

资料确实可以在网上搜集到,但基本都是网页版得,我已经转成了pdf并添加了目录索引,方便阅读,另外核心代码和工程都已经提供了。请在楼主位下载,同时还有电路原理图和工程的简要说明(见8楼)。

出0入0汤圆

发表于 2011-4-15 16:40:33 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-20 16:56:14 | 显示全部楼层
好,正在弄USB

出0入0汤圆

发表于 2011-4-20 20:10:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-21 10:14:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-21 11:33:22 | 显示全部楼层
不错的 东西 晚上下载回去试试!

出0入137汤圆

发表于 2011-4-21 11:42:02 | 显示全部楼层
mark之

出0入0汤圆

发表于 2011-4-21 11:46:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-22 13:31:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-22 14:06:51 | 显示全部楼层
这个一定要顶

出0入0汤圆

发表于 2011-4-22 14:45:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-22 15:03:27 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-22 15:06:04 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-4-22 23:11:18 | 显示全部楼层
回复【22楼】knight_avr
不错的 东西 晚上下载回去试试!
-----------------------------------------------------------------------

ouravr似乎就是晚上访问的人比较多,所以下载有时不成功,可以在早上或者深夜(我一般都是在晚上23点左右发帖,贴图上代码快^-^)下载。

出0入0汤圆

发表于 2011-4-26 23:45:03 | 显示全部楼层
这个不错

出0入0汤圆

发表于 2011-5-12 00:18:02 | 显示全部楼层
这个必须MARK  usb

出0入0汤圆

发表于 2011-5-12 12:56:12 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2011-5-12 13:43:07 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2011-5-12 14:08:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-12 15:03:16 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2011-6-2 11:04:59 | 显示全部楼层
真是不错的资料~赞一个

出0入0汤圆

发表于 2011-6-13 13:56:00 | 显示全部楼层
强力mark

出0入0汤圆

发表于 2011-6-13 14:29:29 | 显示全部楼层
谢谢,好资料!

出0入0汤圆

发表于 2011-6-13 16:02:19 | 显示全部楼层
好东西看看。。。。。

出0入0汤圆

发表于 2011-6-15 11:30:32 | 显示全部楼层
这个必须顶

出0入0汤圆

发表于 2011-7-5 00:05:58 | 显示全部楼层
正好在看usb,做个记号
楼主辛苦了

出0入0汤圆

发表于 2011-7-5 10:27:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-9 15:35:36 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2011-7-9 15:40:47 | 显示全部楼层
mark ,very good

出0入0汤圆

发表于 2011-7-9 15:54:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-4 20:55:59 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-4 23:09:19 | 显示全部楼层
mark usb

出0入0汤圆

发表于 2011-8-7 00:06:54 | 显示全部楼层
mark usb

出0入0汤圆

发表于 2011-8-9 14:48:35 | 显示全部楼层
mark ,回家再下载附件,感谢分享!

出0入0汤圆

发表于 2011-8-9 15:06:14 | 显示全部楼层
mark~~

出0入0汤圆

发表于 2011-8-9 15:15:39 | 显示全部楼层
mark 楼主辛苦

出0入0汤圆

发表于 2011-8-9 22:02:19 | 显示全部楼层
save

出0入0汤圆

发表于 2011-8-9 22:41:12 | 显示全部楼层
Mark
好资料

出0入0汤圆

发表于 2011-8-9 23:09:20 | 显示全部楼层
Mark

出0入0汤圆

发表于 2011-8-10 10:58:57 | 显示全部楼层
这个好全,顶

出0入0汤圆

发表于 2011-8-10 11:30:37 | 显示全部楼层
学习了,谢谢分享

出0入0汤圆

发表于 2011-8-11 16:10:04 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2011-8-11 23:52:53 | 显示全部楼层
好贴! mark!!

出0入0汤圆

发表于 2011-8-12 08:58:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-16 15:29:30 | 显示全部楼层
神啊,真是好资料啊,学习中。

出0入0汤圆

发表于 2011-8-20 15:55:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-20 16:20:55 | 显示全部楼层
好资料,谢谢了

出0入0汤圆

发表于 2011-8-20 16:27:20 | 显示全部楼层
好东西 ,顶一个!

出0入0汤圆

发表于 2011-8-20 16:47:37 | 显示全部楼层
做个标记,留着以后用。谢谢咯

出0入0汤圆

发表于 2011-8-24 17:12:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-1 20:41:58 | 显示全部楼层
顶起来

出0入0汤圆

发表于 2011-9-2 15:37:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-3 12:27:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-3 15:46:16 | 显示全部楼层
不错不错,帮顶,我也想做相同的,居然被先做出来了,学习下!

出0入0汤圆

发表于 2011-9-3 17:21:15 | 显示全部楼层
STM32的USB确实强大,《圈圈教你玩USB》确实很好,对于初学USB很有用,STM32的USB驱动大可不必用库,熟悉了USB的枚举流程,多看看STM32的参考手册,设置寄存器不难...
建议初学一定要掌握USB的枚举 和 基本的数据传输,到最后 实现 圈圈  的自定义USB驱动和上下位机,此时你的USB的功底就不错了

出0入0汤圆

发表于 2011-9-3 19:54:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-22 09:29:58 | 显示全部楼层
好东西,正在学习中

出0入0汤圆

发表于 2011-10-27 17:23:57 | 显示全部楼层
好东西,强。。。

出0入0汤圆

发表于 2011-10-31 22:07:19 | 显示全部楼层
好东西,学习

出0入0汤圆

发表于 2011-11-1 23:29:50 | 显示全部楼层
好资料啊,mark,lz能搞成3.5的库嘛?

出0入0汤圆

发表于 2011-11-5 02:09:51 | 显示全部楼层
回复【楼主位】zidong404  
-----------------------------------------------------------------------

mark

出0入0汤圆

发表于 2011-11-9 11:13:27 | 显示全部楼层
makr

出0入0汤圆

发表于 2011-11-10 09:05:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-10 09:24:47 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2011-11-10 10:38:54 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-10 11:10:30 | 显示全部楼层
好帖必须顶

出0入0汤圆

发表于 2011-11-11 00:32:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-17 20:25:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-17 20:44:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-17 21:39:34 | 显示全部楼层
ding

出0入0汤圆

发表于 2011-11-18 22:43:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-18 23:54:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-19 00:03:49 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-25 18:47:59 | 显示全部楼层
打个记号

出0入0汤圆

发表于 2011-11-25 19:53:38 | 显示全部楼层
好资料,MARK

出0入0汤圆

发表于 2011-11-25 20:00:26 | 显示全部楼层
呵呵,不错,留个印

出0入0汤圆

发表于 2011-11-25 20:10:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-24 15:33:46 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-24 20:31:43 | 显示全部楼层
回复【楼主位】zidong404  自动404
-----------------------------------------------------------------------
marka

出0入0汤圆

发表于 2011-12-24 20:35:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-8 21:10:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-8 21:26:01 | 显示全部楼层
mark  stm32usb

出0入0汤圆

发表于 2012-2-8 17:51:09 | 显示全部楼层
绝对是好资料。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 10:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表