CH32V307用于USB组合设备中,如果一个设备用高速,另一个用全速,这样是否允许?
您好,两个USB接口独立的,可以同时使用。
如果两个USB设备通过USB hub连接,那肯定是相互独立的。
如果两个U设备公用一个设备描述符,也公用一个配置描述符,只是用两个不同的接口描述符。这还算相互独立吗?
两个真实物理端口,就是两个独立的设备。
前面提到一个高速设备,一个全速设备,通常不同速度的USB设备描述符之间会有差异,涉及到协议版本、端点长度、上层协议长度。
例如最普通的同型号鼠标,同一台电脑接入多个也都是可以用的。
但是不排除特定USB设备,例如USB KEY类型产品,可能厂商驱动在描述符某些地方做了加密校验,从上层协议验证设备的独立、唯一性。
如果明确两个端口需要工作在不同USB速度下,最好描述符等均独立运行。
最近比较仔细地阅读了ch32v307的各种文档,对比了一下公司提供的例程。只有一句话,公司提供的底层驱动太有限,功能太不完善,完全不能放心地直接使用,而且没有应用文档。如果还是延用早期单片机的开发模式,开发周期太长,绝大多数人都在进行重复性的底层驱动开发。
我个人认为,既然公司提供了这么多的芯片,为什么不能把底层驱动做成成熟、完善、可靠的程序?如果觉得公司人力有限,可以为其它操作系统提供底层驱动,如鸿蒙、RT-Thread等。如果有了底层驱动,开发周期可能只有几天或者几周,开发成本大大降低,产品质量也能得到保证,使用芯片的人也就越来越多,芯片出货量会指数式上升。
所有人都会延用以前可靠的技术来开发新产品,如果在第一次采用新技术时遇到了很大障碍,很多人就会拒绝它。
您好,感谢您提出的宝贵建议,我们也在不断的丰富完善芯片demo和底层驱动,近期就会有usb参考程序的更新。你也可以发邮箱至wangyy@wch.cn,提前给您发一份作为参考,希望能给您提供帮助。另外若您还有关于usb的参考案例也可以随时与我交流。