为什么我用你们的usb简单调试工具,总是先出现“打开设备失败”啊? 设备那边应该没问题,设备先用串口对ch375初始化,然后运行调试工具, 就总是出现这个错误,驱动应该安装成功了,在设备管理器里能看到一个 unkown device应该就是它吧!
请大家出出主意啊,到底是哪有问题啊,我们憋了3天了啊!!!
模式设置0X02,只有找到CH372CH375外部接口,才是正确的, UD+UD-连线是否正确,晶振频率是否稳定, 查看一下你的PCB,参照网上的例图,
这是375的初始化,因该不会有问题,我是先执行keil的程序,用串口对375初始化, 然后主程序等待usb口的数据,可就是没有啊,麻烦您了 CF375_Init:
;------------------------------------------------------------------------------ ;复位命令: RESET_ALL = 05H ;------------------------------------------------------------------------------ ;向CH375的命令端口写入命令 mov A,#05h ;CMD_RESET_ALL mov DPTR,#CH375_CMD_PORT_ADDR movx @DPTR,A
lcall mDelay100mS ;------------------------------------------------------------------------------ ;测试命令: CHECK_EXIST = 06H ; --测试CH375与单片机的物理连接是否正常以及是否正常工作,可选操作,通常不需要 ;------------------------------------------------------------------------------ ;向CH375的命令端口写入命令 mov A,#06h ;CMD_CHECK_EXIST mov DPTR,#CH375_CMD_PORT_ADDR movx @DPTR,A
;向CH375的数据端口写入数据 mov A,#0CCh mov DPTR,#CH375_DAT_PORT_ADDR movx @DPTR,A ;从CH375的数据端口读出数据 mov DPTR,#CH375_DAT_PORT_ADDR _375_error_0: movx A,@DPTR cjne A,#33h,_375_error_0 ;if A =/= 33h, 测试失败
;------------------------------------------------------------------------------ ;设置USB工作模式: ;------------------------------------------------------------------------------ ;向CH375的命令端口写入命令 mov A,#15h ;设置USB工作模式命令: CMD_SET_USB_MODE = 15H mov DPTR,#CH375_CMD_PORT_ADDR movx @DPTR,A ;向CH375的数据端口写入数据 mov A,#2 ;设置为使用内置固件的USB设备方式 mov DPTR,#CH375_DAT_PORT_ADDR movx @DPTR,A LCALL mDelay1mS ;从CH375的数据端口读出数据: 查命令操作是否成功 MOV DPTR,#CH375_DAT_PORT_ADDR _375_error_1: MOVX A,@DPTR ;若返回数据=51h, 则命令操作成功 cjne A,#CMD_RET_SUCCESS,_375_error_1 ;if =/= 51h, CH375芯片内部或者物理连接存在硬件错误
ret
CH375驱动安装成功,在设备管理器内应该看到的是一个"外部接口"类设备"USB CH372/CH375".出现unknown device说明驱动没装上.
谢谢解答,问题已解决,原因很简单,就是D+,D-弄混了