+flash的读写
时间:10-02
整理:3721RD
点击:
要对flash的读写操作,必须了解flash结构。
STM32F411是512Kbytes的flash,我这里使用第6扇区来对flash的读写操作。利用flash读写特性,可以使用某扇区来实现用户数据的保存。
首先初始化flash,初始化,主要就是解锁。
接下来是实现写flash函数,flash的写入,必须先进行擦擦操作,不然写入的数据将出现错误。
第一个参数是写入的地址,第二参数是待写入数据缓冲器,第三个是要写入的数据长度。
先擦除在进行写入数据。
HAL_FLASHEx_Erase是擦除函数。
HAL_FLASH_Program是写入函数。
接下来实现读取函数,flash的读取操作就简单很多,直接对地址操作。
第一个参数是读地址,第二参数是读取数据缓冲器,第三个是读取的数据长度。
读写完成之后,我们来验证一下结果。使用定时器周期性的读写,先写数据,然后再读取数据,通过读取数据与写入的数据比较,如果相同,LED灯周期性变化。
编译下载,运行,验证了读写flash是正确的。