微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > +flash的读写

+flash的读写

时间:10-02 整理:3721RD 点击:

要对flash的读写操作,必须了解flash结构。


STM32F411是512Kbytes的flash,我这里使用第6扇区来对flash的读写操作。利用flash读写特性,可以使用某扇区来实现用户数据的保存。

首先初始化flash,初始化,主要就是解锁。


接下来是实现写flash函数,flash的写入,必须先进行擦擦操作,不然写入的数据将出现错误。


第一个参数是写入的地址,第二参数是待写入数据缓冲器,第三个是要写入的数据长度。

先擦除在进行写入数据。

HAL_FLASHEx_Erase是擦除函数。

HAL_FLASH_Program是写入函数。

接下来实现读取函数,flash的读取操作就简单很多,直接对地址操作。


第一个参数是读地址,第二参数是读取数据缓冲器,第三个是读取的数据长度。

读写完成之后,我们来验证一下结果。使用定时器周期性的读写,先写数据,然后再读取数据,通过读取数据与写入的数据比较,如果相同,LED灯周期性变化。


编译下载,运行,验证了读写flash是正确的。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top