stm32 Flash 只写入一个字节,后面的都写不进去了。。

2019-07-14 23:19发布

void writeEEPROM(u32 addr)
{int n;
        FLASH_Unlock();
        FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
  FLASH_ErasePage(addr);
  for(n=0;n<datanum;n++)
        {
                FLASH_ProgramHalfWord(addr+n*2, alldata[n]);
               
  }
   FLASH_Lock();
}

void readEEPROM()
{
        int n;
        u32 *addr;
        addr=(u32*)PAGEADD;
        for(n=0;n<datanum;n++)
        {
                alldata[n]=*addr;
                addr+=2;
        }
}
代码如上。。
写了三个数进去,读回来第一个数是对的,后面都是65535

求大神解答啊,我请吃饭
0条回答

一周热门 更多>