[mw_shl_code=c,true] if(number<12)
{
FLASH_Unlock();
FLASH_DataCacheCmd(DISABLE);//FLASH擦除期间,必须禁止数据缓存
//FLASH_EraseSector(STMFLASH_GetFlashSector(0x08040000+number*0x800),VoltageRange_3);//VCC=2.7~3.6V之间!!
for(temp=0;temp<1024;temp++)
{
appoint_address=0x08040000+number*0x800+temp*2;
wait_write=prog_write_buffer[temp*2]+prog_write_buffer[temp*2+1]*0X100;
FLASH_ProgramHalfWord(appoint_address,wait_write);
}
FLASH_DataCacheCmd(ENABLE); //FLASH擦除结束,开启数据缓存
FLASH_Lock();
}
}[/mw_shl_code]
[mw_shl_code=c,true]请问为什么FLASH擦除后不能写[/mw_shl_code]
[mw_shl_code=c,true]0x08040000初始化为0xFFFF注释擦除代码就可以写,不注释擦除代码就不能写了[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
Program Size: Code=69936 RO-data=64328 RW-data=208 ZI-data=54476 F407的
晕了,,编译后F103的代码还多些都不会擦掉
也不知道是什么原因,虽然在进入子函数就解锁了,不知道为什么非要在这里再加一句解锁。
一周热门 更多>