以下是示例中的代码
//4Kbytes为一个Sector
//16个扇区为一个Block
//W25Q128
//容量为16M字节,共有128个Block,4096个Sector
//写SPI FLASH
//pBuffer:数据存储区
//WriteAddr:开始写入的地址(24bit)
//NumByteToWrite:要写的字节数(最大65535)
#if W25QXX_USE_MALLOC==0
u8 W25QXX_BUFFER[4096];
#endif
void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u32 NumByteToWrite)
{
}
这里说的是一次性最大只能写入65535个字节,即一个Block。
1.为什么一次只能写入一个BLock?
2.我试过一次性写入超过65535个字节,写入也是正常的,这是为什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
额,明白了。每次写入的buffer 是指buffer ,而不是整个数组。
但是你那个65535 应该是一个block的大小 4kB*16 = 65536bytes ,这和数据类型是u16还是 u32没有关系吧。
一周热门 更多>