在论坛里抄了一位兄台的程序
1.。结果点download and debug 的时候读出来的和写进去的都对,接着点debug without downloading 的时候,数据读出来就成了0x9D了。
2.每次都会卡死在FLASH_WaitForLastOperation这里,我就删掉了发现能写进去。
求教各位~
[mw_shl_code=c,true]unsigned char a;
unsigned char eeprom_read( unsigned char addr)
{
unsigned char *p;
p=(unsigned char *)(0x4000+addr);
return *p;
}
void eeprom_write(unsigned long addr,unsigned char num)
{
//FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA); //确保前面的操作完成
FLASH_Unlock(FLASH_MEMTYPE_DATA); //解锁写保护
FLASH_ProgramByte(addr,num);
// FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA); //等待操作完成
FLASH_Lock(FLASH_MEMTYPE_DATA); //写保护
}
void main()
{
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
while(1)
{
eeprom_write(0x4000,2);
a=FLASH_ReadByte(0x4000);
}[/mw_shl_code]
|