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条回答
gaohuihui258
1楼-- · 2019-10-16 01:10
 精彩回答 2  元偷偷看……
csf4824521
2楼-- · 2019-10-16 03:10
回复【8楼】gaohuihui258:
---------------------------------
不知道你弄好了没有,我的是支持4地址模式的,Flash的手册上有说的这是我的4地址模式代码你这样做就开启了4地址模式了,然后直接可以用4地址进行访问后面的内存。

#define W25Q_4ByteAddrModeEnable      0xB7
void Enter4ByteAddrMode(void)
{
SPI_FLASH_CS=0;                            //使能器件   
    SPI2_ReadWriteByte(W25Q_4ByteAddrModeEnable);   //进入4Byte地址模式W25Q128以上使用
SPI_FLASH_CS = 1;
}
zouw96
3楼-- · 2019-10-16 08:35
gaohuihui258 发表于 2015-8-3 11:49
回复【3楼】csf4824521:
---------------------------------
你好,不知道你i的W25Q256的驱动是什么样的, ...

同样只支持16M,不知道你弄好了没有
慕鹏凯
4楼-- · 2019-10-16 14:33
csf4824521 发表于 2015-8-29 11:58
回复【8楼】gaohuihui258:
---------------------------------
不知道你弄好了没有,我的是支持4地址模式的 ...

特意登录来感谢,非常感谢!调了两天,按你说的成功了,芯片资料英文的看不懂