新闻  |   论坛  |   博客  |   在线研讨会
STM32读写Flash
我就是我lxw | 2013-01-04 16:46:21    阅读:2317   发布文章
void WriteBuf(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;
 }
 FLASH_Lock();  //锁之后,数据写不进去,也擦除不了
}
void ReadBuf(u32 addr,u8 *p,u16 n)
{
  while(n--)
  {
 *(p++)=*((u8*)addr++);
  }
}
参与讨论
登录后参与讨论
推荐文章
最近访客