|
代码如下: volatile FLASH_Status FLASHStatus = FLASH_COMPLETE;/*FLASH擦除完成标志*/ int main(void) { /*解锁FLASH*/ FLASH_Unlock(); /* 清除所有挂起标志位 */ FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); /* 擦除FLASH 页*/ FLASHStatus = FLASH_ErasePage((uint32_t)0x08000000); while(FLASHStatus != FLASH_COMPLETE) ; /* 锁定FLASH */ FLASH_Lock(); while (1); } 程序就一直停在FLASHStatus = FLASH_ErasePage((uint32_t)0x08000000);这条代码上,但是我通过Watch window看0x08000000到0x080007FF都已经擦除,这个空间内都是FF。 还有一个问题,就是芯片重启之后,在0x08000000到0x080007F空间内,又恢复到未擦除状态,里面好像是随机码。 请问这都是什么情况? |
微信公众号
手机版
评分
查看全部评分