资深版主
 
- 积分
- 12012
- 金钱
- 12012
- 注册时间
- 2013-9-10
- 在线时间
- 427 小时
|

楼主 |
发表于 2013-11-11 13:26:57
|
显示全部楼层
回复【7楼】正点原子:
---------------------------------
这里改一下就可以了
void W25Qxx_Write_Page(u8* datBuff,u32 writeadd,u16 sum)
{
u16 page_remain=256; //页剩余数量
// page_remain = writeadd%256; //页总数减去需要用的空间大小,剩余的空间大小
// if(page_remain <= sum) page_remain = sum; //数据大小没有超出页最大存储量
while(1)
{
W25Qxx_Write_Sector(datBuff,writeadd,page_remain); //开始写入数据
if(sum == page_remain) break; //数据写入完毕,退出
else
{
writeadd += page_remain; //写下一页
datBuff += page_remain; //写下一页数据
sum -= page_remain; //减去已经写入完成的页数
if(sum > 256) page_remain = 256; //超出页范围,256字节
else page_remain = sum; //没超出
}
}
}
哎,先不纠结了,有空再慢慢研究一下,不行就把原子哥的给copy过来用着,这样没侵犯原子哥的版权吧,呵呵 |
|