请问STM32的CAN slave mode与master mode的区别是什么?

2019-07-14 15:36发布

最近刚开始学习USB,参考的书籍是电脑圈圈,例程是网上找的原子的例程,开发板STM32f4discovery。在进行usb设备枚举时通过串口打印信息得到如下:
80 06 00 01 00 00 40 00   
12 01 00 02 00 00 00 40
USB Device Library v1.1.0  [FS]
reset
00 05 1c 00 00 00 00 00  //设置地址
80 06 00 01 00 00 12 00   //设备描述符
12 01 00 02 00 00 00 40 83 04 20 57 00 02 01 02 03 01   
80 06 00 02 00 00 ff 00   //配置描述符
09 02 20 00 01 01 04 c0 32 09 04 00 00 02 08 06 50 05 07 05 81 02 40 00 00 07 05 01 02 40 00 00
80 06 03 03 09 04 ff 00   //字符串描述符(产品序列号)
1a 03 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 31 00 42 00   "00000000001B"
80 06 00 03 00 00 ff 00   //语言ID
04 03 09 04  "0x0409"
80 06 02 03 09 04 ff 00   //字符串描述符(产品字符串)
32 03 41 00 4c 00 49 00 45 00 4e 00 54 00 45 00 4b 00 20 00 55 00 53 00 42 00 20 00 43 00 61 00 72 00 64 00 20 00 52 00 65 00 61 00 64 00 65 00 72 00  "ALENTAKE ..."
80 06 00 06 00 00 0a 00  //设备限定符

在请求字符串描述符时发现有点问题:
问题1:请求语言ID在请求产品序列号之后(不过好像也没有太大关系,毕竟只是颠倒了位置);
问题2:没有请求厂商字符串;
问题3:为什么最后会有设备限定符请求啊,全速设备貌似没提到这个啊。

目前调试只是在USBD_StdDevReq()函数里进行,由于只是初学,问题比较多,对USB也是云里雾里,还希望有人能指点一下。另外如果有关于ST USB库好的学习资料也可推荐一下。(培训PPT和UM1021除外)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
asd010
1楼-- · 2019-07-14 18:24
本帖最后由 流水源 于 2017-2-21 08:58 编辑

配置描述符09 02 20 00,长度不对,还缺类描述符。
as2969559
2楼-- · 2019-07-14 21:41
 精彩回答 2  元偷偷看……
asd010
3楼-- · 2019-07-15 01:26
缺类描述符,还差9字节长度
as2969559
4楼-- · 2019-07-15 06:26
asd010 发表于 2018-11-30 10:16
缺类描述符,还差9字节长度

哦哦,的确是。
as2969559
5楼-- · 2019-07-15 09:55
as2969559 发表于 2018-11-30 10:34
哦哦,的确是。

问一下您能给我提供一个适用于STM32F4DISCOVERY开发板的插入电脑就能识别的例程吗,我用的是STM32_USB-Host-Device_Lib_V2.1.0中的HID例程,但下载进去之后总是不能识别设备。
as2969559
6楼-- · 2019-07-15 10:34
as2969559 发表于 2018-11-30 10:53
问一下您能给我提供一个适用于STM32F4DISCOVERY开发板的插入电脑就能识别的例程吗,我用的是STM32_USB-Host-Device_Lib_V2.1.0中的HID例程,但下载进去之后总是不能识别设备。

我又回去仔细翻了一下书,大容量U盘枚举时应该有接口描述符就行了,没有向HID是的后边还跟了一个HID描述符。

一周热门 更多>