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

工程获取

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

相关推荐
鹏多多5 小时前
PC 网站接入微信登录,这 10 个坑我替你踩完了!
前端·javascript·vue.js
用户298698530146 小时前
React 中 HTML 内容转 Word 文档的实现方案
javascript·react.js·html
mONESY6 小时前
我用 Next.js 16 + Supabase 从零做了个「背单词」H5 应用
javascript
boooooooom6 小时前
手把手做一个图 RAG 烹饪问答系统:Neo4j + Milvus + LLM 的工程实践
前端·javascript·后端
染指11109 小时前
103.RAG-LLamaIndex后端rag问答-聊天接口
前端·javascript·vue.js·人工智能
AOI小白新手上路17 小时前
江科协51单片机 17-2 红外遥控电机调速实验调试总结
单片机·嵌入式硬件·51单片机
单线程_0117 小时前
从案例分析 Vue3 Tokenizer+Parser 源码三
前端·javascript·vue.js
oshan201218 小时前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
小磊哥er19 小时前
深入解构Claude Code - 第 8 篇 · 数据放哪、钱怎么算
javascript·ai编程
记帖19 小时前
STM32C5A3R开发(7)----ADC电压采集
嵌入式硬件·adc·dac·stm32cubeide·stm32c5·stm32cubemx2·stm32c5a3rgt6