STM32F0_HAL初始化系列:FLASH写入

//读
read_temp = *(__IO uint32_t*)value_address;
//写
static void flash_write(uint32_t address, uint32_t data)
{

	  //1、解锁FLASH
  HAL_FLASH_Unlock();
 
	//2、擦除FLASH
	//初始化FLASH_EraseInitTypeDef
	FLASH_EraseInitTypeDef f;
	f.TypeErase = FLASH_TYPEERASE_PAGES;
	f.PageAddress = address;
	f.NbPages = 1;
	//设置PageError
	uint32_t PageError = 0;
	//调用擦除函数
	HAL_FLASHEx_Erase(&f, &PageError);

	//3、对FLASH烧写
	HAL_FLASH_Program(TYPEPROGRAM_WORD, address, data);

    //4、锁住FLASH
  HAL_FLASH_Lock();
}
原文地址:https://www.cnblogs.com/penuel/p/14468579.html