需要三个变则拿搭量,程敏行序如下所示:
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区域存储。消腔从起始地址开始到结束,同时,理论上,用作数据存储也是可以从起始地址开始到结束欢迎分享,转载请注明来源:内存溢出
评论列表(0条)