后缀为S的CH375很多优盘无法识别,换成CH375V就可以识别,请问有方法可以解决吗? [Emot]13[/Emot]
最好的解决办法就是使用我们的库来进行初始化就可以了。
能给个例子吗?谢谢!
例子直接去到我们公司网站上面去下载CH375LIB,在MCS51下面就有例子程序
谢谢我试一下
你好,我使用CH375sDiskReady 初始化函数还是不行,如果初始化成功的话返回0吗?,还有什么注意的地方吗?谢谢,还是这个芯片不支持呀(听说已经停产了)? 谢谢!
应该不会出现不支持的现象啊,按照我们这边测试的话,支持90%以上的U盘。你的程序是怎么操作的?
main( ) { UINT8 i,ser1,ser2,sererror,serror; UINT16 j,count,SecCount; timeout=0; t0func=0; CH375_PORT_INIT( ); /* 由于使用通用I/O模块并口读写时序,所以进行初始化 */ for ( i = 0; i < 100; i ++ ) { mDelay100mS( ); } mInitSTDIO( ); /* 为了让计算机通过串口监控演示过程 */ i=SBUF; i = CH375LibInit( ); mDelay100mS( ); while ( 1 ) {
while ( CH375DiskStatus != DISK_CONNECT ) xQueryInterrupt(); mDelay100mS( ); /* 延时,可选操作,有的USB存储器需要几十毫秒的延时 */ mDelay100mS( ); /* 检查U盘是否准备好,有些U盘不需要这一步,但是某些U盘必须要执行这一步才能工作 */ for ( i = 0; i < 5; i ++ ) { /* 有的U盘总是返回未准备好,不过可以被忽略 */ mDelay100mS( ); //printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查询磁盘是否准备好 */ } }
后面省略了一部分
你修改的什么程序哦,将你的程序帖的全一点可以不?还有就是还有一些宏的定义之类的以及怎么和你的程序结合的以及硬件上面连线是采用总线方式还是模拟I/O口的方式等等
不好意思啊,昨天上不了网了,我用的是模拟I/O口的方式。移植是根据你们的例子修改的,06年买的优盘可以识别,而今年买的优盘大部分不能识别,昨天下载了你们的最新库文件和头件,使用的是 CH375HF5.LIB 库文件,里面有一个CH375sDiskReady()函数,原来的库文件里没有这个函数,我加上这个函数后,可以识别现在的优盘,但编译后xdata溢出(stc89c58单片机),请问能不能把CH375sDiskReady()这个初始化函数贴出来呀?