当前位置:首页 > 单片机 > 单片机
[导读]今天使用STM32的FLASH进行保存数据,实现掉电保存的功能。掉电保存:使用FLASH存储时,在每一次数据刷新后,进行一次存储即可。PS:重新下载时,会刷新保存的数据。FLASH编程思路:写入:先执行擦除数据(页擦除||全

今天使用STM32的FLASH进行保存数据,实现掉电保存的功能。

掉电保存:使用FLASH存储时,在每一次数据刷新后,进行一次存储即可。

PS:重新下载时,会刷新保存的数据。

FLASH编程思路:

写入:先执行擦除数据(页擦除||全片擦除),再进行写入操作

写入范围:0x08000000 +程序大小 < 写入地址 + 写入字节 <= flash大小(根据芯片的数据手册可以查看)

flash写入过程:

1,读FLASH_CR的LOCK

2,FLASH_SR的BSY位,是否有其他编程正在操作

3,设置FLASH_CR的PG位为1

4,指定的地址写入要编程的半字

5,等待BSY位变为0

6,读出写入的地址并验证数据

flash页擦除过程

1,读FLASH_CR的LOCK

2,检查FLASH_SR的BSY位,是否有其他编程正在操作

3,置FLASH_CR的PER = 1;

4,用FLASH_AR选择要擦除的页

5,置FLASH_CR的STRT = 1

5, 等待BSY位变为0

6,读出验证擦除页的数据

附上程序源码:

链接:http://pan.baidu.com/s/1eSDu7Fs 密码:ksf0


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭