2023版 STM32实战10 内部Flash读写

简介和注意事项

-1-STM32内部提供了闪存区域,用来存储用户代码和自定义数据

-2-F1系列的写入最少两字节(半字)

-3-每个地址存8位数据

-4-写入之前需要解锁,写完需要上锁

-5-读取不需要解锁

存储器分布

以下三张图可清楚的看到三种芯片的内存分布情况

STM32F103C6T6(小容量)

STM32F103C8T6(中容量)

STM32F103ZET6(大容量)

代码编写 (F1可直接拷贝使用)

c 复制代码
void Flash_Write(u32 address)
{
	FLASH_Unlock();
	FLASH_ErasePage(address);
	FLASH_ProgramHalfWord(address,0x1188);
	FLASH_Lock();
}


void Flash_Write_Data(u32 address,u16 *data,u8 len)
{
	u8 i=0;

	//解锁
	FLASH_Unlock();
	//擦除
	FLASH_ErasePage(address);
	//写入
	for( i=0;i<len;i++)
	{
		FLASH_ProgramHalfWord(address,*data);
		address+=2;
		data+=1;
	}
	//上锁
	FLASH_Lock();
}

u8 Flash_Read(u32 faddr)
{
	return *(vu16*)faddr; 
}

Flash_Write_Data(0X08070000,(u16*)data2,3);

工程获取

三连加关注后点击头像获取

相关推荐
假装我不帅8 分钟前
jquery-validation使用
前端·javascript·jquery
怕浪猫13 分钟前
React从入门到出门第六章 事件代理机制与原生事件协同
前端·javascript·react.js
小郭团队17 分钟前
教育公平的探索
大数据·人工智能·嵌入式硬件·算法·硬件架构
天府之绝17 分钟前
uniapp 中使用uview表单验证时,自定义扩展的表单,在改变时无法触发表单验证处理;
开发语言·前端·javascript·vue.js·uni-app
lemoncat819 分钟前
PCB线圈电感设计器推荐
嵌入式硬件·pcb
TEC_INO23 分钟前
STM32_10:SPI
stm32·单片机·嵌入式硬件
polarislove021426 分钟前
10.3[ADC]采样时间和转换时间-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
创思通信27 分钟前
STM32L151RCT6 BC20 采集温湿度DHT11 采集GPS定位 和ADC发送到最新版本ONENET物联网开放平台
stm32·嵌入式硬件·物联网
__万波__29 分钟前
STM32建立完全空白的工程
stm32·单片机·嵌入式硬件
局外人LZ29 分钟前
libsodium.js:web端与 Node.js 的现代加密工具集,构建前端安全加密体系
前端·javascript·node.js