STM32 FLASH擦除(擦除没有进行)

2019-03-23 19:50发布

自己在用STM32 103的板子 做一个FLASH的擦除 用指针输出后 发现没有擦除 请大虾看看问题出在哪里?? 下面是代码 void FLASH_Init(void)
{
 u8 i;
 
 FlashStatus = FLASH_COMPLETE;
 ErasePage = (EraseEnd - EraseStart) / FLASH_PAGE_SIZE;
 FLASH_Unlock();
 FlashStatus = FLASH_WaitForLastOperation(EraseTimeout);
 if(FlashStatus == FLASH_COMPLETE)
 {
  printf("开始擦除 ");
//  for(i = 0; (i <= ErasePage) && (FlashStatus == FLASH_COMPLETE); i++)
//  {
   FlashStatus = FLASH_ErasePage(EraseStart + (0 * FLASH_PAGE_SIZE));
//  }
 }
 printf("%d,%d ",*p,*(p+7));
 FLASH_ProgramHalfWord(EraseStart,0x1111);
 FLASH_ProgramWord(EraseStart + 2,0x00000000);     //放广播MAC
 FLASH_ProgramWord(EraseStart + 6,0xFFFF0000);     //这里需要注意的是windows编译器对于数的摆放:地址从低到高,数据从高到
 printf("%d,%d ",*p,*(p+7));
 FLASH_Lock();
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
huzi2099
1楼-- · 2019-03-24 03:01
/ FlashStatus = FLASH_ErasePage(EraseStart + (0 * FLASH_PAGE_SIZE));
这句执行完后返回值是啥?
yfh521088
2楼-- · 2019-03-24 07:05
 精彩回答 2  元偷偷看……

一周热门 更多>