完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
描述符长度这里会返回错误,代码是从ch554移植过来的,ch554使用正常,到了CH549就不行了,请问为啥?
UINT8 CtrlGetDeviceDescr( void ) { UINT8 s; UINT8 len; UsbDevEndp0Size = DEFAULT_ENDP0_SIZE; CopySetupReqPkg( SetupGetDevDescr ); s = HostCtrlTransfer( Com_Buffer, (PUINT8)&len ); // 执行控制传输 if ( s != ERR_SUCCESS ) { return( s ); } UsbDevEndp0Size = ( (PXUSB_DEV_DESCR)Com_Buffer ) -> bMaxPacketSize0; // 端点0最大包长度,这是简化处理,正常应该先获取前8字节后立即更新UsbDevEndp0Size再继续 if ( len < ( (PUSB_SETUP_REQ)SetupGetDevDescr ) -> wLengthL ) { printf("SetupGetDevDescr ERR_USB_BUF_OVERnr" ); return( ERR_USB_BUF_OVER ); //////// 在这里返回错误 // 描述符长度错误 } return( ERR_SUCCESS ); } |
|
相关推荐
1个回答
|
|
您好,报错的地方比较的是请求的请求的字节长度和接受到的字节长度做对比,可以进入到HOSTCTRLTRANSFER函数内部监控一下在读取USB_RX_LEN寄存器值的时候具体的长度是多少,同时因为报错了,也可以看一下缓冲区中的数据本身是什么,用来判断USB事务执行本身是否是成功的。
|
|
|
|
只有小组成员才能发言,加入小组>>
535 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2910 浏览 2 评论
2404 浏览 1 评论
880浏览 2评论
695浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
424浏览 1评论
543浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
822浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 02:09 , Processed in 1.156663 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号