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

 我来答
tingandxiang1
2018-03-10 · TA获得超过7424个赞
知道小有建树答主
回答量:20
采纳率:100%
帮助的人:2741
展开全部

需要三个变量,程序如下所示:

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式