[求助]写的问题

不行了要崩溃了,希望大家可以给点详细的解释,多谢了! 我的375读好用写就是不行是怎么回事呢? 我用汇编编程,写的流程是用write命令,输入4字节扇区数(确认U盘中有此扇区并且没有被占用),1写扇区数,然后用wr_usb_data7命令,先输入40h表示后续有64个字节,然后陆续输入了64个字节的数据,然后用disk_wr_go命令把缓冲区数据写入U盘,之后没有继续输入数据,没有写完一个扇区,此时中断代码1E,数据待输入。 查看数据就是写不进去,这是怎么回事呢?试过两个U盘都不行。不是应该写进去64个字节了么? 过程中执行到write输入5个数据进去之后U盘灯就灭了,再也没有亮,是不是写进去时候应该闪一下阿? 请问最可能的原因是什么呢?读写信号都没有问题,数据总线也没有问题,真的要崩溃了,调了好久了……

对U盘的读写必须是一个扇区大小(如:512B),你写完64B后,产生中断:0x1E是正确的,此时你应该再写入64B数据,直至写完一个扇区大小。写操作流程可网上下载CH375EVT.ZIP,参考CH375EV0.C


我的理解是,缓冲区只有64个字节,所以才需要每次输入64个字节之后中断一次,而disk_wr_go命令用于将缓冲区的数据真正拷贝进U盘然后清空缓冲区的数据继续写,是这个流程么? 如果这样的话不是我写一次64个字节就可确实写进U盘里面了么?还是说不管怎么样写都必须写完一个扇区啊?如果是后一种情况那么请问真正写进U盘里的是什么命令呢?谢谢了


disk_wr_go命令确实是将64B数据发给U盘,但是U盘会把这64B数据进行缓冲,等达到一定的数量(这个数量由U盘本身决定,但至少是一个扇区大小)后才会真正写入FLASH。


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