新手入门
- 积分
- 25
- 金钱
- 25
- 注册时间
- 2015-8-3
- 在线时间
- 0 小时
|
5金钱
if(i<secremain)//?è??????
{
FLASH_ErasePage(secpos*STM_SECTOR_SIZE+STM32_FLASH_BASE);//????????????
for(i=0;i<secremain;i++)//????
{
STMFLASH_BUF[i+secoff]=pBuffer;
}
STMFLASH_Write_NoCheck(secpos*STM_SECTOR_SIZE+STM32_FLASH_BASE,STMFLASH_BUF,STM_SECTOR_SIZE/2);//????????????
}else STMFLASH_Write_NoCheck(WriteAddr,pBuffer,secremain);//??????????????,?±?????????????à????.
if(NumToWrite==secremain)break;//?????á????
else//???????á??
{
secpos++; //???????·??1
secoff=0; //??????????0
pBuffer+=secremain; //????????
WriteAddr+=secremain; //?????·????
NumToWrite-=secremain; //×???(16??)??????
if(NumToWrite>(STM_SECTOR_SIZE/2))secremain=STM_SECTOR_SIZE/2;//???????????????????ê
else secremain=NumToWrite;//?????????????????ê??
}
};
当不需要擦除的时候WriteAddr+=secremain;是不是有问题啊,后面是否需要*2(红字部分)
|
|