Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
tinyusb
stm32103VB tinyusb 使用异常,无法识别:设备描述符请求失败
发布于 2022-05-27 20:39:58 浏览:2010
订阅该版
尝试STM32F103VB上使用tinyusb,完成配置之后开始没有反应。调试后发现 ![image.png](https://oss-club.rt-thread.org/uploads/20220527/b5e525821e315efd3f78425dd13fd9e3.png) 这个上拉电阻的实现需要手动实现控制: ``` dcd_disconnect dcd_connect ``` ![image.png](https://oss-club.rt-thread.org/uploads/20220527/2247da43e8023adf485fb02ae2fbb952.png) 之后调试发现设备还是无法识别: ![image.png](https://oss-club.rt-thread.org/uploads/20220527/37edf44a84cc779462b82ae3542dfa28.png) 之后打开TinyUSB的调试日志 ``` #define CFG_TUSB_DEBUG 3 ``` 之后上电出现调试信息: ``` msh >USBD Bus Reset : Full Speed USBD Bus Reset : Full Speed USBD Setup Received 80 06 00 01 00 00 40 00 Get Descriptor Device Queue EP 80 with 18 bytes ... USBD Xfer Complete on EP 80 with 18 bytes Queue EP 00 with 0 bytes ... USBD Xfer Complete on EP 00 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 00 05 2A 00 00 00 00 00 Set Address USBD Xfer Complete on EP 80 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 80 06 00 01 00 00 40 00 Get Descriptor Device Queue EP 80 with 18 bytes ... USBD Xfer Complete on EP 80 with 18 bytes Queue EP 00 with 0 bytes ... USBD Xfer Complete on EP 00 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 00 05 2B 00 00 00 00 00 Set Address USBD Xfer Complete on EP 80 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 80 06 00 01 00 00 40 00 Get Descriptor Device Queue EP 80 with 18 bytes ... USBD Xfer Complete on EP 80 with 18 bytes Queue EP 00 with 0 bytes ... USBD Xfer Complete on EP 00 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 00 05 2C 00 00 00 00 00 Set Address USBD Xfer Complete on EP 80 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 80 06 00 01 00 00 40 00 Get Descriptor Device Queue EP 80 with 18 bytes ... USBD Xfer Complete on EP 80 with 18 bytes Queue EP 00 with 0 bytes ... USBD Xfer Complete on EP 00 with 0 bytes USBD Bus Reset : Full Speed USBD Setup Received 00 05 2D 00 00 00 00 00 Set Address USBD Xfer Complete on EP 80 with 0 bytes USBD Suspend : Remote Wakeup = 0 ``` 从调试信息上看,有获取设备描述符的指令执行 ``` USBD Setup Received 80 06 00 01 00 00 40 00 Get Descriptor Device Queue EP 80 with 18 bytes ... USBD Xfer Complete on EP 80 with 18 bytes ``` 此指令确实是有执行的,于是使用逻辑分析仪抓取USB数据 ![image.png](https://oss-club.rt-thread.org/uploads/20220527/e5aadc4b527e820aa9600e0c781aa3f7.png.webp) 可以看到获取设备描述符的指令,在附近查找相关指令回复 ![image.png](https://oss-club.rt-thread.org/uploads/20220527/0ae4b837431e8a2cba1acfa845d83f98.png.webp) 展开回复: ![image.png](https://oss-club.rt-thread.org/uploads/20220527/3e7d574e212fd45a29b0244a96f6b7af.png.webp) 看到设备也是有回复的 但是这个设备就是无法识别! 后面多抓取一些数据,发现,只是第一次有回应,后面的多次发送都没有回应 ![image.png](https://oss-club.rt-thread.org/uploads/20220527/ad04cc19d6c8cfba752eea940086663c.png.webp) ![image.png](https://oss-club.rt-thread.org/uploads/20220527/59377ac338697c8fed074efb060de71e.png.webp) ![image.png](https://oss-club.rt-thread.org/uploads/20220527/4219d8085045c0f9a242d3dc9ea2be08.png.webp) 好像确实是没有回应PC的获取设备描述符,**但是既然能回应一次,为何后面的数据就发送不出来了?** 我的配置参数如下: ``` #define PKG_USING_TINYUSB #define PKG_TINYUSB_STACK_SIZE 2048 #define PKG_TINYUSB_THREAD_PRIORITY 8 #define PKG_TINYUSB_MEM_SECTION ".data" #define PKG_TINYUSB_MEM_ALIGN 4 #define PKG_TINYUSB_RHPORT_NUM_1 #define PKG_TINYUSB_RHPORT_NUM 0 #define PKG_TINYUSB_FULL_SPEED #define PKG_TINYUSB_DEVICE_PORT_SPEED 0x00 #define PKG_TINYUSB_DEVICE_ENABLE #define PKG_TINYUSB_DEVICE_VID 0x0483 #define PKG_TINYUSB_DEVICE_PID 0x5A4F #define PKG_TINYUSB_DEVICE_MANUFACTURER "RP552D" #define PKG_TINYUSB_DEVICE_PRODUCT "NL_v6.x.x" #define PKG_TINYUSB_EDPT0_SIZE 64 #define PKG_TINYUSB_DEVICE_CURRENT 500 #define PKG_TINYUSB_DEVICE_HID #define CFG_TUD_HID 1 #define PKG_TINYUSB_DEVICE_HID_STRING "RP552D_NL_v6.x.x" #define PKG_TINYUSB_DEVICE_HID_EPNUM 4 #define PKG_TINYUSB_DEVICE_HID_INT 1 #define PKG_TINYUSB_DEVICE_HID_KEYBOARD #define PKG_TINYUSB_DEVICE_HID_MOUSE #define PKG_TINYUSB_DEVICE_HID_CONSUMER #define PKG_TINYUSB_DEVICE_HID_EP_BUFSIZE 64 #define PKG_TINYUSB_DEVICE_EXAMPLE #define PKG_TINYUSB_DEVICE_EXAMPLE_HID #define PKG_TINYUSB_DEBUG_ERROR #define CFG_TUSB_DEBUG 1 #define PKG_USING_TINYUSB_V01300 ```
查看更多
3
个回答
默认排序
按发布时间排序
tfx
2022-05-27
这家伙很懒,什么也没写!
能否把抓包文件保存后上传上来呢?
cheung
2022-05-30
实事求是
我用官方的usb设备也是无法识别
RiceChen
认证专家
2023-12-15
内核/软件架构/开源
你这个问题最终解决了吗
撰写答案
登录
注册新账号
关注者
0
被浏览
2k
关于作者
懒洋洋
这家伙很懒,什么也没写!
提问
9
回答
0
被采纳
0
关注TA
发私信
相关问题
1
RT1052利用keil编译器移植tinyusb出现的问题
2
RTT自带的USB驱动和TINYUSB有什么区别,需求只用外部FLASH模拟U盘设备。
3
HPM5301EVKLITE测试USB HID例子通过,REPORT_SIZE该如何理解?
4
HPM5301EVKLITE测试tinyusb USB HID 例子实测每秒1000个数据包,每个1024字节,ticks限制住了tinyusb的报告频率
5
使用TinyUSB编译出现expected declaration specifiers or '...' before string constant错误
6
使用USB tinyusb 的时候报错
7
如何运行TinyUSB的CDC demo程序 please open port and make sure DTR=1
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
a1012112796
13
个答案
1
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部