我参照ch372dsk的资料发现可移动磁盘的容量一直是0,可用空间也是0 ,而且在程序运行时那个磁盘根本打不开,清大侠指点一下什么原因呢?我用的正好也是89C52+CH375+62256DRAM。
(1)应该是一些涉及容量的信息,没能成功传给PC,可能存在的原因比较多,需要逐步调试,你用bushund看一下哪些UFI命令没成功,这个需要你先前熟悉一下BulkOnly协议、UFI命令集 (2)在你的硬件上,只要修改CH375的地址线、中断线就可以了,其他程序不要修改
楼上的朋友能把你哪CH372DSK给我一份吗,我的毕业设计就是利用AVR做U盘,我的问题跟你的差不多,但是我的能进去但是容量和空间也是零,眼看这周日就要答辩了,可我连最基本的读还没实现哪可怎么答辩啊真是愁啊 多谢了! 个人信息保护,已隐藏
在硬件上,CH375的地址线和中断线和资料上时一摸一样,其他程序我也没有修改,我是用仿真器调的,在仿真器运行时可移动磁盘就打不开,鼠标右键属性:可移动磁盘的容量一直是0,可用空间也是0。还有,你说的bushund是一个什么软件,怎么在网上找不到啊,能否给个下载地址,谢谢!
在硬件上,CH375的地址线和中断线和资料上时一摸一样,其他程序我也没有修改,我是用仿真器调的,在仿真器运行时可移动磁盘就打不开,鼠标右键属性:可移动磁盘的容量一直是0,可用空间也是0。还有,你说的bushund是一个什么软件,怎么在网上找不到啊,能否给个下载地址,谢谢!
BUSHOUND,是USB调试工具,把防真器去掉可不可以
1,UFI命令集中的 1A 的起是什么作用,在资料中我并没有找到这个命令,在CH372DSK中的程序中也用了这个命令!PC机说要的数据是192(C0)个字节,可在资料中的程序中只发了12(0C)个字节,指示什么原因? 2,还有你们给我的资料中没有用到 READ FORMAT CAPACITIES Command: 23h 这个命令,可移动磁盘的容量一直是0,可用空间也是0是不是因为没有用这个命令的原因? 3,有关 READ FORMAT CAPACITIES:23 的返回值是些是么值,PC机说是要252(FC)个字节,都是些什么了,在那个英文资料中这一点我一直没有高明白,就麻烦大家帮帮忙了,谢谢!
这个命令是格式化容量,我的响应了这个命令读写也不好使 容量是零由可能是没有把MBR(DBR)的数据成功的传给主机,你用BUS HOUND监测一下USB总线的数据看看是不是有以(EB 58 90)开始的数据
1,UFI命令集中的 1A 的起是什么作用,在资料中我并没有找到这个命令,在CH372DSK中的程序中也用了这个命令!PC机说要的数据是192(C0)个字节,可在资料中的程序中只发了12(0C)个字节,指示什么原因? 2,还有你们给我的资料中没有用到 READ FORMAT CAPACITIES Command: 23h 这个命令,可移动磁盘的容量一直是0,可用空间也是0是不是因为没有用这个命令的原因? 3,有关 READ FORMAT CAPACITIES:23 的返回值是些是么值,PC机说是要252(FC)个字节,都是些什么了,在那个英文资料中这一点我一直没有高明白,就麻烦大家帮帮忙了,谢谢!
这个在UFI协议里面是有的1A的命令是应答ModeSense,关于应答的具体格式和含义你可以参考UFI协议.我觉得你看的资料不标准,到usb.org上去下载UFI协议 23H肯定会用到的,这是相应格式化容量的,你没应答这个所以显示为0.这个一定要应答,PC才会知道容量是多少. 返回值你还是要参考UFI协议,我觉得要么你看的协议不对,要么是你理解的不对.比如23命令应答8个字节,前4个为总扇区数,后四个是扇区大小.
(1)U盘所用用到的命令,不全在一个文档中,大部分命令可以参考“Universal Serial Bus Mass Storage Class UFI Command Specification”,还有一些需要参考SCSI命令集 (2)我们的例程是经过测试的,没用到23h命令,说明它不影响容量,可用空间需要通过读DBR和FAT表计算出来 (3)命令的解释很繁琐,不太容易解释清楚,更多的需要自己去理解,可以用Bus Hound抓取一个成品U盘与PC的通信流程,对比协议去理解,我们也是这么做的
我这有啊,传过去了,下边是软件抓的数据 000046: Bulk or Interrupt Transfer (UP), 22.05.2009 16:55:10.312 +0.015. Status: 0x00000000 Pipe Handle: 0x85db00d4 (Endpoint Address: 0x82) Get 0x200 bytes from the device EB 3E 90 4D 53 57 49 4E 34 2E 31 00 02 01 01 00 ë>MSWIN4.1..... 02 00 20 40 00 F8 01 00 3F 00 02 00 00 00 00 00 .. @.ø..?....... 40 00 00 00 00 00 29 68 06 73 84 43 48 33 37 32 @.....)h.sCH372 55 44 49 53 4B 20 46 41 54 31 32 00 00 00 00 00 UDISK FAT12..... EB FE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ëþ.............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
你说的“比如23命令应答8个字节,前4个为总扇区数,后四个是扇区大小.”不是23命令的应答!这是 命令 READ CAPACITY:25 的应答!
不过你的建议是个好办法:那个成功的U盘抓一下数据对比。 你说的“比如23命令应答8个字节,前4个为总扇区数,后四个是扇区大小.”不是23命令的应答!这是 命令 READ CAPACITY:25 的应答! 我这有啊,传过去了,下边是软件抓的数据 000046: Bulk or Interrupt Transfer (UP), 22.05.2009 16:55:10.312 +0.015. Status: 0x00000000 Pipe Handle: 0x85db00d4 (Endpoint Address: 0x82) Get 0x200 bytes from the device EB 3E 90 4D 53 57 49 4E 34 2E 31 00 02 01 01 00 ë>MSWIN4.1..... 02 00 20 40 00 F8 01 00 3F 00 02 00 00 00 00 00 .. @.ø..?....... 40 00 00 00 00 00 29 68 06 73 84 43 48 33 37 32 @.....)h.s„CH372 55 44 49 53 4B 20 46 41 54 31 32 00 00 00 00 00 UDISK FAT12..... EB FE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ëþ.............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
还有,我的那个可移动磁盘属性下,文件系统既不是FAT32,也不是FAT16和FAT12,而是RAW,这是什么原因呢?
RAW表示未知的文件系统,PC没有将你的信息成功读上去自然也就无法识别你的文件系统类型.