有关CH372或CH375的USB通讯的问题解答

学习了,。。。。TKS


请问老师,我用STC89C58RD+单片机与PC通信.用的是375B芯片,并口模式. 单片机端可以初始化成功,CMD_CHECK_EXIST是正常的. 可是用的TEST程序进行测试时,总是提示写字节长度返回错误,请问这个是怎么回事? 在单片机里面测试了一下,PC端写完数据后 单片机里的接收数据长度总是1. 谢谢您了.


下位机仍然用TEST里面的,上位机改用CH372DBG.ZIP来调试,测试上下传是否能成功


我用debug372测试了一下,有时候能收到数据,但收到的数据有的却是错误的.请问这个是怎么回事?


有可能是干扰问题,USB线一定要使用屏蔽线,USB接口的外壳接地,还有可能是读写时序上面的问题。可以把读写子函数贴出来看看。


新进的想大家问好了 报个到


大家好,刚学 USB通信,用CH375做了个扳子,插入PC后不识别,安装了CH375.DLL还是识别不了,量了X0、X1两端的电压都是2.35V,急切能得到那位师傅的指点,不胜感激!


必须给CH375设置为设备模式(1或2)才行,这步有没有成功呢


unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */ unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0; /* CH375数据端口的I/O地址 */ 为什么是 0xBDF1和 0xBCF0 呢?

只看见资料上说跟硬件电路有关,到底是怎么得来这个数的呢?


unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */ unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0; /* CH375数据端口的I/O地址 */ 为什么是 0xBDF1和 0xBCF0 呢?

还有资料里有这样一段话: U4(单片机89C51 等)用于测试CH372 的USB 数据通讯功能,本例中CH372 的地址A0 由U4 的 P20 驱动,CH372 的片选线CS#由U4 的P21 驱动,所以CH372 的命令口的地址可以是FDXXH(例子程 序中使用地址BDF1H),数据口的地址可以是FCXXH(例子程序中使用地址BCF0H)

只看见资料上说跟硬件电路有关,到底是怎么得来这个数的呢?

void CH375_WR_CMD_PORT( unsigned char cmd ) { /* 向CH375的命令端口写入命令,周期不小于4uS,如果单片机较快则延时 */ delay2us(); CH375_CMD_PORT=cmd; delay2us(); } 上面这个函数是向命令端写入命令,CH372资料上面写的是A0=0的时候才能写命令,为什么这个函数不需要,而且没有遵守资料上所说的时序。 如果是那样的话,单片机为什么要跟 #CS #WR #RD 连接,连接了之后程序根本就没对这几个引脚操作,连接起来干嘛的?以上两个问题谁能回答我!



用的是CH375,上位机可以发现硬件,显示无法识别,驱动好像装不了,是什么原因呢?求教。。。


是不是使用CH375的内置固件 的设备模式, 模式是否成功? USB连线是不是屏蔽线,并且USB线最好不要太长


我要做一个数据采集设备,需要2个USB口接收键盘等HID类设备的数据,请问可采用哪款芯片?


CH374U芯片比较合适


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