WCH沁恒单片机
直播中

木頭瓶子

11年用户 558经验值
擅长:353304
私信 关注
[问答]

CH552 USB Setup包处理就是没办法枚举成功是什么原因?

我这边使用switch 语句处理Setup包,标准请求UsbSetupBuf->bRequestType应该是0x80,Vendor 的IN,OUT分别是0xC0、0x40才对,但是使用switch 的方法就是没办法枚举成功,系统频率是24M的,是处理速度太慢了吗?
switch语法如下:
switch(SetReqtp) {
    case USB_REQ_TYP_STANDARD | USB_REQ_RECIP_DEVICE | USB_REQ_TYP_IN:
    。。。。。。。。   

    case USB_REQ_TYP_VENDOR | USB_REQ_RECIP_DEVICE | USB_REQ_TYP_IN:

    。。。。。。。。

    case USB_REQ_TYP_VENDOR | USB_REQ_RECIP_DEVICE | USB_REQ_TYP_OUT:
    。。。。。。。。
    default :break;

}


  

回帖(7)

王有罕

2022-6-10 11:25:12
我这边使用dataflash即时存储收到的端点0的数据
举报

李雅文

2022-6-10 11:25:17
80 06 00 01 00 00 40 00
00 05 0C 00 00 00 00 00
80 06 00 01 00 00 12 00
80 06 00 02 00 00 FF 00
80 06 00 03 00 00 FF 00
80 06 00 02 00 00 2F 00
00 09 01 00 00 00 00 00
C0 F5 00 00 00 00 07 00
40 AA 00 00 00 00 00 00
40 9C 11 15 22 D9 00 00
举报

陈福蓓

2022-6-10 11:25:23
用if语句的数据都没有问题,switch语句的话就会卡在第二个80 06 00 02 00 00 FF 00 这里
举报

贾飞世

2022-6-10 11:25:28
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

更多回帖

发帖
×
20
完善资料,
赚取积分