stm32f4读写flash
时间: 2024-02-02 09:01:46 浏览: 114
【STM32F4系列】HAL库自制库W25QXX FLASH驱动
STM32F4系列微控制器内置了闪存存储器,可用于存储程序代码和其他非易失性数据。读写闪存的步骤如下:
1. 设置闪存接口:
首先,需要初始化闪存接口。在启用闪存操作之前,需要配置Flash预取缓冲和等待状态。这可以通过设置FLASH_ACR寄存器来完成。
2. 解锁闪存:
在进行任何写操作之前,需要先解锁闪存。这是通过设置FLASH_KEYR寄存器为特定值来完成的。
3. 擦除闪存扇区:
如果要写入新的数据,通常需要先擦除闪存的特定扇区。可以使用FLASH_Erase_Sector函数来执行擦除操作,将扇区的地址作为参数传递给该函数。
4. 写入数据到闪存:
擦除完成后,可以使用FLASH_ProgramWord函数将数据以字为单位写入闪存。这个函数接收要写入的数据地址以及数据本身作为参数。
5. 锁定闪存:
写入完成后,为了保护数据的完整性,可以通过设置FLASH_CR寄存器将闪存重新锁定。
需要注意以下几点:
- 在进行任何闪存操作前,务必检查FLASH_SR寄存器的标志位,以确保闪存内部操作已经完成。
- 闪存操作期间,不要执行其他重要的操作,以避免干扰闪存操作的正常进行。
总而言之,通过设置闪存接口、解锁闪存、擦除扇区、写入数据和锁定闪存,我们可以在STM32F4微控制器上进行闪存的读写操作。这样可以方便地存储和更新程序代码和其他非易失性数据。
阅读全文