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);

工程获取

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

相关推荐
lightgis3 小时前
16openlayers加载COG(云优化Geotiff)
前端·javascript·html·html5
小飞大王6663 小时前
TypeScript核心类型系统完全指南
前端·javascript·typescript
gfanbei6 小时前
ARM V8 Cortex R52 上电运行在什么状态?— Deepseek 解答
linux·arm开发·嵌入式硬件
她是太阳,好耀眼i7 小时前
Nvm 实现vue版本切换
javascript·vue.js·ecmascript
蒲公英10017 小时前
在wps软件的word中使用js宏命令设置表格背景色
javascript·word·wps
一枚前端小能手7 小时前
📜 `<script>`脚本元素 - 从加载策略到安全性与性能的完整指南
前端·javascript
掘金安东尼8 小时前
TypeScript为何在AI时代登顶:Anders Hejlsberg 的十二年演化论
前端·javascript·面试
小刘爱玩单片机8 小时前
【stm32协议外设篇】- PAJ7620手势识别传感器
c语言·stm32·单片机·嵌入式硬件
执携8 小时前
Vue Router (命名视图)
前端·javascript·vue.js
含若飞9 小时前
Vue 中 `watch` 与 `this.$watch` 使用指南
前端·javascript·vue.js