请教CH372 REV问题

请教CH372 REV问题,我想知道这个REV 0220怎么生成的! 谢谢!20131721494834.jpg

372做内部固件模式不可改,做外部固件模式可以更改,更改设备描述符中“设备版本信息”处


//设备描述符 unsigned char code DevDes[]={ 0x12 //描述符大小 12 ,0x01 //常数DEVICE 01 ,0x10 //USB规范版本信息 10 ,0x01 // 01 ,0x00 //类别码, 00 ,0x00 //子类别码 00 ,0x37 //协议码 37 ,0x08 //端点0的最大信息包大小 08 ,0x08 //厂商ID vid 0x48 ,0x09 // 0x43 ,0x04 //产品ID pid 0x37 ,0x00 // 0x55 ,0x00 //设备版本信息 00 ,0x01 // 01 ,0x00 //索引值 00 ,0x00 // 00 ,0x00 // 00 ,0x01 //可能配置的数目 01 ,0x00 //无意义 00 ,0x00 //00 ,0x00 //00 ,0x00 //00 ,0x00 //00 ,0x00 //00 };


,0x00 //设备版本信息 00 ,0x01 // 01 是00呀! 我要怎么改呢? /* 设置USB工作模式, 必要操作 */ set_usb_mode( 1 ); //外部固件模式 // set_usb_mode( 2 ); //内部固件模式 选择外部件模式对不对?


对。内部固件的是0220,而外部范例是0100,你可以把,0x00 ,0x01 //设备版本信息//改为任何05,01那么显示的就是0105.设备版本信息是两个字节的BCD码


那为何我改为外部固件模式,上机显示。vid0000 pid0000 枚举失败 为什么呢?


你程序有问题,你可以先用我们的外部固件程序范例试试


请问在使用外部固件模式时,VID&PID\后的序列号怎么改?20131921463658.jpg


对了!我是用贵公司的CDC程序改的!


你这个问题实际上就是VID和PID在设备管理器里面没有这个设备的驱动,你如果按照CDC类的例子程序改的,那么如果你需要模拟CDC串口类设备则例子程序里面有一个INF文件,手动安装这个驱动即可。修改VID和PID在设备描述符里面修改,楼上已经给你把一个完整设备描述符的贴出来同时也加了注释的。仔细看下即可。


您好!我想知道了个后面的5&2C77E8C4&0&1是怎么生成的?是程序上生成的还是驱动生成? 如果我买一个贵公司的USB总线分析仪可以查看到吗?因本人刚进门USB开发,还请多多指教!


不是下位机程序上生成的。分析仪能看设备与主机通讯的数据包,有助于学习USB


只有登录才能回复,可以选择微信账号登录