完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在使用CH554调试AOA和ADB通信时,在USBHostTransact函数中会返回0x16和0x15,发现返回这两个值是因为下面这段函数内容
if ( UIF_DETECT ) // USB设备插拔事件 { UIF_DETECT = 0; // 清中断标志 s = AnalyzeRootHub( ); // 分析ROOT-HUB状态 if ( s == ERR_USB_CONNECT ) { FoundNewDev = 1; } if ( ThisUsbDev.DeviceStatus == ROOT_DEV_DISCONNECT ) { return( ERR_USB_DISCON ); // USB设备断开事件 } if ( ThisUsbDev.DeviceStatus == ROOT_DEV_CONNECTED ) { return( ERR_USB_CONNECT ); // USB设备连接事件 } mDelayuS( 200 ); // 等待传输完成 } 即里面的usb设备断开和usb设备连接事件,这会是什么原因呢?应该不是硬件问题,我调整传输函数会发现没事,只有到某一个通信函数时会出现错误? 难道是USB通信过程中出现错误,导致总线复位? 但是USB通信是什么错误呢?如何在进一步分析?谢谢。 |
|
相关推荐
1个回答
|
|
需要对总线进行抓包,可以使用带协议解析的逻辑分析仪或者专用的USB总线分析仪。
|
|
|
|
只有小组成员才能发言,加入小组>>
503 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2899 浏览 2 评论
2387 浏览 1 评论
847浏览 2评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
390浏览 1评论
670浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
403浏览 1评论
471浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 01:53 , Processed in 0.985713 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号