WCH沁恒单片机
直播中

杨春林

7年用户 911经验值
私信 关注
[问答]

CH552修改端口配置后无法正常枚举是什么原因?如何解决?

最近再弄daplink 描述符配置从现成的例程上移植的 也正常枚举过 是没有问题的
但是修改完endpoint的配置 修改中断中重置端口 和置端口stall那块代码后 烧录就无法正常枚举了
然后奇怪的事情就来了 按p0.36和复位引脚 大概率又能正常枚举
  
  

回帖(1)

王若鸿

2022-9-26 09:14:53

1,此处的发送总长度现在应该是不需要的,可以去除
if (UsbSetupBuf->wLengthH)
                    SetupLen = 0xFF; // 限制总长度
2,此处从软件抓包看好像没有回正确的数据,检查代码是否对这个请求做处理
44.0  CTL    80 00 00 00  00 00 02 00                                                                                GET STATUS                              36.1.0        
  44.0  NTSTS  c00000bb                                                                                                not supported                           36.2.0        
3,软件抓包好像抓到了很多设备。确定一下问题设备是哪个,只抓这个设备的包
4,您的描述中,烧录完成不能正常枚举(此处尽量抓不能正常枚举时候的包),手动外部复位后正常,从这个描述大概方向是烧录完成的枚举包和手动复位的枚举流程不一样,烧录完成后的枚举流程或许多了一些命令,程序中没有处理导致程序异常等,但复位后流程上的包都回了。


举报

更多回帖

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