我用在电脑上面,两种U盘都可以读写,但是CH375读写时,奥美嘉的U盘经常出现调用库函数后不返回的现象,但是拔下来后重新插上去,又可以正常读写,kingston的就没有这样的问题.
调试发现: 函数CH375FileCreate();CH375ByteLocate();CH375ByteWrite();较容易出现不返回现象.
请高手指点一下!![Emot]4[/Emot]
我用在电脑上面,两种U盘都可以读写,但是CH375读写时,奥美嘉的U盘经常出现调用库函数后不返回的现象,但是拔下来后重新插上去,又可以正常读写,kingston的就没有这样的问题.
调试发现: 函数CH375FileCreate();CH375ByteLocate();CH375ByteWrite();较容易出现不返回现象.
请高手指点一下!![Emot]4[/Emot]
不正常的U盘插上之后,除了你说的几个不返回外,DIAK-READY()可以通过吗?
可以通过 CH375DiskConnect(); CH375DiskReady();
你们的库支持哪些品牌的U盘?
不支持的品牌是否完全不能用,还是可以使用但不稳定?
如果DISK-READY可以过的话,那么,后面的操作应该也可以过,可以不可以将你的程序发到我们技术信箱看下。如果可以的话把PCB发过来看下,如果像你所说的那样的话,那么你有没有检查下你的RAM有没有问题呢?
发现不正常的时候,死在下面的循环内: ch375hf6.h头文件里的 void xQueryInterrupt( void ){ while ( CH375_INT_WIRE ){ /* 如果CH375的中断引脚输出高电平则等待 */ }
...............
那你测下你不工作的U盘接到你板子上面,USB口的电压是多少??
4.77V这样,我还试过直接5V供电,中间不串电阻,但是还是不行. 特别是数据量大的时候,失败的情况更多一点.
插上U盘之后的电压是4。77V吗?你只要执行了DISK-READY过了的话,那么后面的操作应该也可以过的
数据少的时候可以完成一次打开,写入,关闭文件等操作,但是数据多了以后,就完成不了,一般在写入时出错了,返回0xB4这个错误码,但是用KINSTON的U盘就没有这个现象,数据再大都可以完成.用奥美嘉和优百特的U盘就问题很多,到底你们的这款芯片支持哪些品牌U盘?
可以不可以将你的程序发到技术信箱,有可能的话,可以不可以将U盘寄过来看下,我还没见过这个现象呢
我已经把电路图发到你们的技术邮箱,麻烦先看看电路是否有问题