stm32 flash读写
时间: 2023-09-16 18:15:29 浏览: 49
STM32是一款由STMicroelectronics公司推出的微控制器系列,其中包括了Flash存储器。下面介绍STM32 Flash存储器的读写操作。
STM32 Flash存储器的容量一般为几十KB到几百KB,可以分为多个扇区。每个扇区的大小一般为1KB或2KB。Flash存储器的读写操作都需要进行编程和擦除。
Flash编程操作:
1. 开启Flash编程
在进行Flash编程之前,需要先开启Flash编程。这可以通过设置FLASH_CR寄存器的PG位来实现。
2. 写入数据
写入数据需要先将要写入的数据放在FLASH地址中,然后向FLASH地址写入数据。如果要写入的数据不止一个字,则需要多次写入。
3. 关闭Flash编程
在Flash编程结束后,需要关闭Flash编程。这可以通过设置FLASH_CR寄存器的PG位来实现。
Flash擦除操作:
1. 开启Flash擦除
在进行Flash擦除之前,需要先开启Flash擦除。这可以通过设置FLASH_CR寄存器的PER位来实现。
2. 选择要擦除的扇区
要擦除的扇区可以通过设置FLASH_AR寄存器来实现。
3. 启动擦除操作
擦除操作可以通过设置FLASH_CR寄存器的STRT位来实现。
4. 等待擦除完成
擦除操作需要一定的时间,需要等待擦除完成。可以通过轮询FLASH_SR寄存器的BSY位来实现。
5. 关闭Flash擦除
在Flash擦除结束后,需要关闭Flash擦除。这可以通过设置FLASH_CR寄存器的PER位来实现。
总结:
STM32 Flash存储器的读写操作需要进行编程和擦除。编程操作需要开启编程,写入数据,关闭编程。擦除操作需要开启擦除,选择要擦除的扇区,启动擦除操作,等待擦除完成,关闭擦除。