[求助]用CH375读扩容U盘时程序死

客服,您好! 我最近使用CH375B读写一个经过扩容的U盘,当读到扩容部分时,程序看起来就死掉了,几经分析也没有结果,请问客服这可能是什么出错了 我认为即使是读取扩容部分,CH375也应该能读出数据,因为这个U盘我曾经在电脑上用WINHEX打开过,没有问题。 如果客服对这个问题不是很了解,那么还有一个问题,CH375在读写U盘时会不会死机,如果死机了,程序怎么判断?

你所说的扩容 是不是只扩大U盘的FLASH空间, 你可以先用CH375来获取一下磁盘大小,以及在计算机上 扩容的那部分可不可以读写文件。 出现死机,可能是U盘没有正确响应主机,导致主机一直的在重试。


1楼说的关于扩容,我解释一下,扩容就是虚拟扩大U盘容量。举个例子,如果1个U盘真实容量是128M,经过扩容可以变成2G甚至更大。这时,U盘不论用CH375读取磁盘容量,还是用电脑的属性去查,都是2G,但是如果存上数据,数据便会丢失。在电脑上是可以往U盘里写入的。


接着请教大侠,如果主机一直重试,那么应该怎么办?怎么能让U盘没有正确响应主机时,主机自动停止重试。这个是不是就是手册中说的NAK重试?


有这种可能性,现在你是按照文件操作出现这个问题的还是直接读物理扇区出现这个问题的?如果你用的是文件操作,那么你现在修改一下程序,先读写物理扇区看看有没有问题. 除了你说的NAK之外还有一中可能性,就是如果在按照文件操作的时候,扩容部分如果为文件的信息区,假如FAT表,FDT表等.这时候如果给的数据是错误的,那么库函数会重试. 关于HEX打开有两种方式,一是打开逻辑盘,二是打开物理盘,你是用什么方式来做的呢? 顺便问一下,这中U盘存放数据很危险,为什么要用这中U盘呢?


1.我是按照直接读物理扇区 2.我是用的不是库函数,而是例程里提供的直接读取扇区的程序读取的 3.我用WINHEX时使用的是逻辑盘, 4.我不是使用这种盘,而是通过一些操作去检测这种盘,防止以后买到,但是现在遇到的问题是,刚一读到这些虚拟空间,CH375就死了


(1)读物理扇区有一个流程(参考手册),具体是哪一步出错 (2)用这个工具试试能否读取虚拟部分扇区:Drivers->Physical Drive->双击驱动器->Set Active->OK,然后可以读取物理扇区 UploadImages/20091198432146.rar


你用WINHEX打开U盘的物理磁盘,看看扩容的这些扇区 可不可以用。 可以通过CMD_SET_RETRY 命令设置重试次数,但如果重试次数过少,可能导致U盘的兼容性不好


关于SCM的回复: 1.USB主机没有回应时,是在以扇区模式读U盘的的过程中 2.那个工具我不太会使 关于_study_的回复: 1.用WINHEX打开磁盘后,这些扩容扇区是可以读出的,并且也可以修改 2.那个命令我试过,但是没有找到很好的重试次数范围,大侠们给个提示


1,你所说的扩容扇区在WINHEX上面是在U盘物理扇区的哪个扇区?还是你的U盘在计算机上面虚拟出2个盘出来?


不论是扩容扇区还是真实扇区由于是U盘,所以都在一个逻辑盘中,不存在虚拟的2个盘 用WINHEX打开后,前一部分如0-0003 FFFF是真实容量,后一部分0004 0000开始都是虚拟容量


那就应该可以读取,你只需要送逻辑扇区号为0X40000就应该可以了,如果无法读取的话,那么你可以先测试下读取0X40000以前的扇区能不能读取,如果不能读取的话需要你去检查下程序上面会不会有什么问题。


hcn,你好!前面的扇区确实都能读写没有问题,请你看看帖子上边的内容,帮帮我!谢谢!!!


你这样安装一个叫“BUSHOUND”的这个软件,你看下在计算机读取扩展扇区的时候进行了哪些操作。


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