高级会员

- 积分
- 699
- 金钱
- 699
- 注册时间
- 2014-9-19
- 在线时间
- 193 小时
|
1金钱
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字节的了吗?
|
最佳答案
查看完整内容[请看2#楼]
例程是写错了,应该是16*1024*1024, 越界能使用,是因为你写入的地址,高位被抛弃,低位还是可以写入的,所以无论给一个什么地址,都可以读写,而且都正确,只是写入的地址,并非你认为的地址
|