STM32——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