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
求大神解答啊,我请吃饭
一周热门 更多>