1.flash基础了解
STM32F103C8T6的flash按页擦除,分为64页,每页1kb大小
本文我用的为扇区32,完整扇区可百度了解
flash操作步骤一般为:
1.解锁Flash
2.擦除Flash编程
3.写入Flash操作
4.锁定Flash
2.程序
flash.c
#include "flash.h"
#include <stdio.h>
#include <string.h>
/*FLASH写入程序*/
void WriteFlash(uint32_t addr,uint32_t *Data,uint32_t L)
{
addr=FLASH_SAVE_ADDR;
uint32_t i=0;
HAL_StatusTypeDef flash_status;
/*解锁FLASH*/
HAL_FLASH_Unlock();
/*擦除FLASH*/
/*初始化FLASH_EraseInitTypeDef*/
/*擦除方式页擦除FLASH_TYPEERASE_PAGES,块擦除FLASH_TYPEERASE_MASSERASE*/
/*擦除页数*/
/*擦除地址*/
FLASH_EraseInitTypeDef FlashSet;
FlashSet.TypeErase = FLASH_TYPEERASE_PAGES;
FlashSet