解决了时序问题,下面要解决软件问题了. 我现在的程序是基本上按照论坛上的不用库函数的C示例改写为汇编的,但是兼容性不是太好.现在进行连读1M扇区数据测试,仅有联想的一款读得出来,而且是每次成功,一款朗科的U215 512M无法通过测试,随机停止.另有一个CF读卡器则是几乎读不出任何数据.一款SSK的SD/MMC读卡器则是返回0x1f. 也就是说手上的优盘兼容性而言是50%,读卡器是0
发现所有过不了测试的一个共性,就是能通过DISK_READY检测,这有关系?
你使用的这个程序,兼容性不是很好,实际上在处理DISK-READY的时候,处理的不是很全面,只是做了一部分的处理,实际计算机对U盘的初始化要比这个全面的很多,所以,这个例子U盘的支持率不是很高,你可以调用我们库的DISK-READY()函数看下你上面说的U盘会不会支持,或者你可以使用我们的模块来测试下看你的U盘支持不支持
感觉是鸡和鸡蛋的问题,因为我的CPU根本不可能用你们的库,我如果不测试出兼容性好的话,我根本无法使用你们的片子,不使用你们的片子,就不能得到你们库的源程序,就不能改善兼容性。 郁闷。
现在把程序做了点修改,有一个读卡器也稳定了,它是不能通过DISK_SIZE命令,改为略过错误就行了。可惜这样算起来兼容性也不是太好,总数达50%。另外一半现在是碰运气,有时特别好,连接几把能过,有时特别差,死活不过。
给你几个参考的意见: 1,首先,我们可以帮你做一个库,不过,前提是你要将你的编译器发过来。因为如果要做库的话,周期是工作量相对会比较大 2,其次,如果想考虑时间周期的话,那么,你可以使用我们的U盘文件读写模块,这个模块不存在U盘的兼容性问题 我个人认为还是选用模块比较好点,因为自己做文件系统的话,U盘的兼容性我们是不能保证的
我只需要你们告知一下如何初始化.我只要能稳定的读优盘的扇区.文件系统我不需要你们封装,公司已经有代码了.