CH375DiskReady总是返回0x21

使用CH375HF6.H,CH375HF6.LIB和EXAM7,字节读写 cTempStatus = CH375DiskConnect( ) ;//返回成功 //下面就有问题 for ( i = 0; i < 10; i ++ ) //有的U盘总是返回未准备好,不过可以被忽略 { DelayN50ms(2); cTempStatus = CH375DiskReady( ); if (cTempStatus == ERR_SUCCESS ) break; // 查询磁盘是否准备好 }

gcComBuf[0] = cTempStatus;//总是返回0x21 gcComBuf[1] = CH375DiskStatus;//返回0x02 UartSend(2);//串口监测结果 cTempStatus = CH375DiskQuery( );//也是返回0x21 请问有那些可能的原因,使用的硬件设备当做从设备或HID键盘都工作正常,所以硬件设备应该没有问题啊。

CH375DiskConnect( )函数返回的数据是多少? 如果返回0X21的话,建议你去检查下你的USB线有没有连接反.


CH375DiskConnect( )函数返回的是0x00,是成功的。 线路不会接反,因为接口是用的USB座,而且是按照V+,D-,D+,GND的顺序,如果有接反的话电源也反了。另外,该硬件设备当做USB设备方式使用时是正常的,所以硬件也不会有问题。


U盘的供电要保证为5v,用的是什么单片机?如果使用的是高速单片机 像c8051f之类的,而且主频比较高的话,建议使用库5,在读写函数里面的加点延时。


返回0X21的话,建议您还是检查一下USB信号线,测量一下电压.如果测试命令能通过,说明MCU和CH375之间的通讯是正确的.你不能因为和PC连接是正常的,就可以断定USB信号线连接没有问题,毕竟电脑的兼容性很好.你可以把USB连接的图贴出来看一下,另外测量一下UD+,UD-上面的对地电压是多少.检查U盘供电是多少.


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