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

工程获取

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

相关推荐
小茴香3531 分钟前
vue3的传参方式总结
javascript·vue.js·typescript
梵得儿SHI2 分钟前
Vue 核心语法深度解析:生命周期与响应式之计算属性(computed)与侦听器(watch/watchEffect)
前端·javascript·vue.js·计算属性·侦听器·缓存机制·数据派生
anuoua3 分钟前
歼20居然是个框架-基于 Signals 信号的前端框架设计
前端·javascript·前端框架
我爱学习_zwj13 分钟前
Node.js模块管理:CommonJS vs ESModules
开发语言·前端·javascript
咬人喵喵14 分钟前
网页开发的“三剑客”:HTML、CSS 和 JavaScript
javascript·css·html
顾安r15 分钟前
12.8 脚本网页 井字棋
前端·stm32·django·html
心本无晴.16 分钟前
深入剖析Vue3中Axios的实战应用与最佳实践
前端·javascript·vue.js
冬男zdn17 分钟前
优雅的React表单状态管理
前端·javascript·react.js
国服第二切图仔18 分钟前
基于Electron for 鸿蒙PC的高性能表格组件封装
javascript·electron·harmonyos·鸿蒙pc
金色光环20 分钟前
基于STM32F407+dp83848实现ModbusTCP从站移植
驱动开发·stm32·嵌入式硬件