完善资料让更多小伙伴认识你,还能领取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总线分析仪。
|
|
|
|
只有小组成员才能发言,加入小组>>
416 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2842 浏览 2 评论
2333 浏览 1 评论
769浏览 2评论
CH565W以太网,是必须有SKCKET中断才能发送数据吗?
402浏览 1评论
311浏览 1评论
用DVP采集图像,用UDP传给PC端,采集两帧后图像报错是什么原因?
445浏览 1评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
583浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-1 13:26 , Processed in 1.006419 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号