W25Q256FV实现USB读写的问题

2019-10-15 00:55发布

现在是移植了FATFS文件系统后成功格式化,读文件,创建文件和显示剩余空间都正常,根据战舰开发板USB代码修改的代码移植后能够成功识别盘符,但是打开后里面有二十几个2G的文件(256的Flash只有32M),下面是代码
看了原子兄的代码后自认为这里是最重要的
    Mass_Memory_Size[0] = 1024*1024*32;//32M字节
    Mass_Block_Size[0] = 512;
    Mass_Block_Count[0] = Mass_Memory_Size[0] / Mass_Block_Size[0];

因为不需要用到SD卡所以改了一下数组下标,可移动磁盘个数的宏也修改为0,mass_mal中的read和write内容也改为
        case 0:
              STA=0;
            SPI_Flash_Write((u8*)Writebuff, Memory_Offset, Transfer_Length);

        case 0:
             STA=0;
            SPI_Flash_Read((u8*)Readbuff, Memory_Offset, Transfer_Length);
不知道Read_Memory和Write_Memory需不需要修改,我的一个块的size是65536,Mass_Block_Size[0]为512时就会出现前面说到的有几十个2G文件的情况,如果改为65536那么PC机上可移动磁盘的大小就为0,原子兄的代码在Mass_Block_Size[0]后的注释说Mass_Block_Size[0]是init中定了的512,不知道是不是需要把这个定长的512修改一下,请教一下各位大哥解决的办法!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
八度空间
2019-10-15 15:43
回复【5楼】csf4824521:
---------------------------------
1、你这样的话程序选择哪个呢?
switch(*****)
{
    case 0:
         *******
         break;
    case 0:
         *******
         break;
    *****
}
2、你想将FLASH的写到0项上面去,记得好像要在USB操作里面修改代码的,具体也记得不清,你可以goto看下
3、或者你试下直接就将FLASH的添加到那个0项上面,1项直接break(或者不写),将这个宏定义改为这样#define MAX_LUN    0

一周热门 更多>