M.鸣 发表于 2018-12-4 11:43:54

想问一个关于STM32L475 flash的问题

想问一下大家,大家在flash擦出的时候有没有遇上这样的问题,调用完HAL_FLASHEx_Erase之后,返回值是HAL_OK,但是再去读相同的地址中的数据,读回来的数据都不是0xff,还是之前写过的值

这是写的关于Erase的代码,不知道有没有哪里写错

tanic 发表于 2018-12-6 11:02:04

如图

a838899 发表于 2018-12-6 13:22:58

:):):o:o

发表于 2018-12-6 13:55:26

tanic 发表于 2018-12-6 11:02
如图

二楼太调皮了。哈哈:lol

发表于 2018-12-6 13:55:41

楼主,FLASH擦除后,内容就是FF。

M.鸣 发表于 2018-12-7 16:04:07

安 发表于 2018-12-6 13:55
楼主,FLASH擦除后,内容就是FF。

可能是我表达得不够清楚,我的意思是,我调用了擦除的库函数,但是擦除之后再去读,读回来的数据不是0xFF,说明这是没擦除成功的。

发表于 2018-12-7 16:56:40

楼主不好意思,可能是我理解错了。正常调用擦除函数用的是FLASH_Erase_Sector,不知道为什么你选用的不一样。换这个试试。

M.鸣 发表于 2018-12-8 15:01:47

安 发表于 2018-12-7 16:56
楼主不好意思,可能是我理解错了。正常调用擦除函数用的是FLASH_Erase_Sector,不知道为什么你选用的不一样 ...

擦除函数不一样么?那可能是因为使用的芯片不一样,我用的是芯片型号是L475,而且我用的是HAL库,调用这个HAL_FLASHEx_Erase函数应该没什么问题

发表于 2018-12-8 15:27:07

可能是因为芯片不同,我用的是标准库,F4的芯片。楼主可以参考一下例程:

斜阳__ 发表于 2018-12-8 18:30:13

1、检查返回值对不对
2、page_error值对不对
3、回读地址值对不对
4、跑一下官方例程,看结果对不对
页: [1] 2
查看完整版本: 想问一个关于STM32L475 flash的问题