ch375的u盘兼容性问题

我使用ch375主机按扇区方式读写u盘,按例程编写了程序,现在有如下问题,请教各位: 1.u盘的兼容性 为了测试芯片读写u盘的可能性,我选了四个优盘,分别是存储之星128兆 存储之星256兆 希捷存储 512兆 清华紫光 1g的优盘,四个优盘在pc上读写正常,把四个优盘分别作了测试 存储之星256兆可以进行读写等操作,其他的全部不行,不知问题出在那里,请问ch375对优盘到底有什么要求,或者请各位推荐几款目前兼容性比较好的切方便购买的优盘(最好说明品牌型号)。

2.在u盘读写数据的时候的是否需要适当延时,请应该在那里延时,一般延时多少。

请你用公司子程序库来读写,应该都可以


我打电话咨询了一下说,如果不使用库直接按扇区读写优盘的话,对优盘的兼容性不是高,我询问了一下,说使用朗科和爱国者的可以,于是我购买了一个朗科512兆一个,爱国者1g的1个,试验了一下,问题依旧。

技术支持让我使用库来作,我向问一下。 我使用的是80c196kd单片机,好像没有对应我单片机的库文件。 还有就是库文件源码是否公开,如何能够获得。

目前我的项目比较急,请求各位帮帮忙!谢谢!


那你测试下看接上U盘之后,U口的电压是多少?还有就是程序停在了什么地方?


u口在没接u盘时,u口电压4.83v,接上u盘后,u口电压降到4.73伏,我想应该不是供电电流太小的问题。

我的程序并不是不能用,因为有一款优盘已经顺利通过了初始化,读数据,写数据全部过程,但是剩下的优盘全部不能完成初始化,更谈不上读写的问题。初始化一般到获得优盘容量之前就over了,返回的状态不对,现在真不知道怎么办了。因为开发的是一款数字仪表,如果按这样的u盘兼容性,u盘的购买要求就太高了,而且用户手里的优盘也是各种各样,仪表的使用要求队用户而然就太高了,大家给点建议吧。

最好谁直接读写过扇区并成功的(不用库文件直接用命令),说说使用的是那个优盘什么型号,多大容量的!谢谢!


按照你所说的,在读取磁盘容量的时候就出问题了,那么,你在读取磁盘容量之前读取下中断状态,看返回的状态还是U盘连接吗?如果不是的话,那你就需要检查你的硬件了,还有就是你可以将你的初始化程序以及你的三个读写子程序和延时1US的程序帖出来看。


嘿嘿,又遇到一个无法使用库程序的。 不使用库,关键就在一个所谓的初始化,其实所谓的初始化的问题根本不存在,只是有些公司的优盘古怪而已,所谓的初始化失败其实是没有做出错处理。 我以前特意发了个贴子针对这种无法使用库的优盘初始化方法,至少到目前为止,我所能找到的优盘支持率在95%以上,楼主可以去找找,你问客服是没有用的,在没有量的情况下是不可能给你源程序的。


先谢谢楼上的兄弟的帮助! 我试验了好多种情况,发现一个问题,在这里请教一下熟悉usb总线及数据包的朋友! 我更还了ch375的工作模式,一开始我设定在方式05h即已启用的usb主机方式,不产生sof包,在这种情况下只有一个u盘可以读写数据正常;然后我把模式更换到06h即启用的usb主机方式,自动产生sof包,发现优盘都通过了初始化可以读写了,因为不是很了解usb的数据包所以请教下各位,这两种方式有什么区别。

本以为问题解决,但是进行进一步测试时发现有两个优盘在读写数据的时候从优盘读引导扇区和其他扇区的数据和实际地址位置的数据对不上,也没有找到原因。而且问题都出现在两个512兆的优盘上不知道是不是巧合。其他优盘的数据都正常。有没有朋友遇到过这样的问题呢!请指点一二!


按照USB协议里面所说,在进行任何USB操作的时候,在任何一个操作的开始都是以SOF包为开头的,按照你所说,设置模式5的话,那么,在进行USB操作U盘的时候,你就需要自己发送SOF包才可以进行USB操作,,你发现操作2个U盘数据不正确的话,那么你读出来的物理扇区上面第1个字节是不是X0FA开始的?如果是的话,那么,这个应该时候U盘的MBR,实际你要读的DBR在MBR之后,具体的DBR的位置在MBR里面的第一个逻辑分区的位置上面,而你用计算机上面看到的可能是逻辑分区的第0号扇区,而不是真正意义上面的物理扇区的位置


8楼的兄弟说的不错,我后来也发现了这个问题!我在windows下用winhex打开的是逻辑盘的零扇区BPB而不是物理地址的零扇区,而读的是物理地址的零扇区既MBR表所以有出入。已经解决了!谢谢各位的帮忙。

还有就是问个软件上的问题,在 windows下作物理地址读写扇区的程序,用那种语言比较方便呢!


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