打印
[STM32L4]

L4的擦除flash的接口执行成功了,就是擦不了

[复制链接]
96|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
亡羊补牢|  楼主 | 2024-11-27 21:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FLASH_EraseInitTypeDef eraseInit;
        eraseInit.TypeErase = FLASH_TYPEERASE_PAGES;
        eraseInit.Banks = FLASH_BANK_2;
        eraseInit.Page = 254;
        eraseInit.NbPages = 2;      
        uint32_t PageError;
      
       HAL_FLASH_Unlock();
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |FLASH_FLAG_PGAERR |FLASH_FLAG_PGSERR);

        if(HAL_OK != HAL_FLASHEx_Erase(&eraseInit,&PageError))
        {
                printf("PageError:%d\n",PageError);
               HAL_FLASH_Lock();
        }
        HAL_FLASH_Lock();
        printf("erase ok\n");

大家有遇到过吗,麻烦看看代码有什么问题没?

使用特权

评论回复
沙发
亡羊补牢|  楼主 | 2024-11-27 21:58 | 只看该作者
PageError返回值是0xFFFFFFFF,这是擦除page成功的正确返回值,但是flash就是没有被擦除,还是以前的值

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

166

帖子

3

粉丝