STM32如何读写芯片内部FLASH,要存几个变量?

STM32如何读写芯片内部FLASH,要存几个变量?,第1张

需要三个变则拿搭量,程敏行序如下所示:

void write_buf(u32 addr,u8 *p,u16 n)

{

u32 r1

n=n/4//擦除并写flash

FLASH_Unlock()//FLASH解锁孙拿

FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR)//清标志位

FLASH_ErasePage(addr)

while(n--)

{r1=*(p++)

r1|=*(p++)<<8

r1|=*(p++)<<16

r1|=*(p++)<<24

FLASH_ProgramWord(addr, r1)

addr+=4

}

}

void read_buf(u32 addr,u8 *p,u16 n)

{

while(n--)

{

*(p++)=*((u8*)addr++)

}

}

不会。STM32F103程序存储为Flash,支指答持在线读写以及擦除,stm32更新程序不会更新flash,可以尝试。STM32是意法半扰拦导体(ST)设唯李慧计的一系列32位芯片的名字。

如果你用的区域刚好是在你有程序的地方逗吵,则会破坏。STM32的程序存储没有山桥侍专用的flash区域存储。消腔从起始地址开始到结束,同时,理论上,用作数据存储也是可以从起始地址开始到结束


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12514787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存