学习记录8-FLASH闪存读写

前言

FLASH是单片机内存管理的重要一环。今天进行学习记录,希望能帮助到大家


一、代码

简单的书写代码,都是库函数,没什么逻辑,在此就不废话了

#include "stm32f10x.h"                  // Device header

uint32_t MYFLASH_ReadWord(uint32_t Address)		//字(32)位进行读取
{
	return	*((__IO uint32_t *)(Address));
}

uint16_t MYFLASH_ReadHalWord(uint32_t Address)//半字(16)位进行读取
{
	return	*((__IO uint16_t *)(Address));
}

uint8_t MYFLASH_ReadByte(uint32_t Address)//字节(8)位进行读取
{
	return	*((__IO uint8_t *)(Address));
}

void MYFLASH_EraseAllPages()	//全部擦除函数
{
	FLASH_Unlock();    //进行解锁
	FLASH_EraseAllPages();
	FLASH_Lock();	//进行上锁
}

void MYFLASH_ErasePage(uint32_t PageAddress)	//页擦除函数
{
	FLASH_Unlock();
	FLASH_ErasePage(PageAddress);
	FLASH_Lock();	
}

void MYFLASH_ProgramWord(uint32_t Address, uint32_t data)//写数据
{
	FLASH_Unlock();
	FLASH_ProgramWord(Address,data);
	FLASH_Lock();
}

void MYFLASH_ProgramHalfWord(uint32_t Address, uint16_t data)//写数据
{
	FLASH_Unlock();
	FLASH_ProgramHalfWord(Address,data);
	FLASH_Lock();
}

二、应用

1.书写

			MYFLASH_ErasePage(0x0800FC00);	//对FLASH值进行写入
			MYFLASH_ProgramWord(0x0800fc00,TEMP_1);

注释:

0x0800fc00:STM32书写数据从0x08000000开始,64K大小FLASH到0x0x0800ffff 止

因为前面书写了我们的程序,不能更改,所以我们用户的数据就可以从后往前写,所以从63K开始写。

2.读取

MYFLASH_ReadWord(0x0800fc00);

直接调用就行,和函数用法一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值