2019-08-14 03:37发布
挣点圆子 发表于 2015-12-31 17:59 你可以自己写。读出数据保存在数组里----》擦除这个扇区----》将修改好的数组写回扇区。只需要3个子函数。
天风海雨 发表于 2017-3-27 16:43 1.以上的红 {MOD}代码,我想请问一下w25q128的地址是24位的,secpos=WriteAddr/4096低3位不是应该没有了吗? ...
最多设置5个标签!
我有个问一个就是,为什么擦除地址要乘于4096啊?
答:4096是2的12次方,是4KB,即一个扇区的大小,代码用secpos=WriteAddr/4096就是要确定WriteAddr位于哪一个扇区内。secpos获得的是扇区的编号。
2.W25QXX_Erase_Sector(secpos); 然后直接给这个函数的话不是将原来的地址WriteAddr的低三位去掉再发送。。那是不是擦除的是不是已经不是想擦除的扇区地址呢?
答:即擦除指定的扇区,参数是扇区的编号,扇区的首地址为secpos*4096。
比如:WriteAddr=0X007FFF00 那么secpos是不是等于secpos=0x000007FF呢?但是0X007FFF00 的扇区首地址不是0x007FF000吗?
求帮帮忙解释一下,谢谢了
答:secpos=0x000007FF,该扇区的首地址为secpos*4096=0x007FF000,扇区内偏移地址为4096-(WriteAddr-secpos*4096)=256。
您好,我想问一下W25Q16,扇区擦除函数,输入的参数是扇区的编号0-511还是24位的字节地址?
一周热门 更多>