w25q128 一共是16M字,分成256个block,每个块是64k,每个块又分为
16 个扇区(Sector),每个扇区 4K 个字节 。 这个没问题。
官方的测试程序为,写字符串到flash里面, 在读出来。测试ok。
有一个问题不太懂。
W25QXX_Write((u8*)TEXT_Buffer,FLASH_SIZE-100,SIZE);
W25QXX_Read(datatemp,FLASH_SIZE-100,SIZE);
这上面的FLASH_SIZE=128*1024*1024; 这个地方不太懂了,为什么不是16*1024*1024那。
假设 FLASH_SIZE=128*1024*1024 这个是对的。 那么如果 我在 1 到FLASH_SIZE 地址上全部写固定的u8,那么这个不就是128M字节的了吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
调试了一下。 首先变量是u32 位的没问题, 但是打印是0。 修改了变量的名字变成小写,那么可以了, 但是实际的地址已经超出spi的地址范围了。应该是 SPI2_ReadWriteByte(W25X_Rea
SPI2_ReadWriteByte((u8)((ReadAddr)>>16));
SPI2_ReadWriteByte((u8)((ReadAddr)>>8));
SPI2_ReadWriteByte((u8)ReadAddr);
这个地方的问题, 高位的超出的已经被忽视了。
一周热门 更多>