|
if(ia==7)//ZERO
{
SurBufb[0]=(am2>>24)&0x000000ff;;
SurBufb[1]=(am2>>16)&0x000000ff;
SurBufb[2]=(am2>>8)&0x000000ff;
SurBufb[3]=(am2)&0x000000ff;
adnew1= am2;
EEPROM_SectorErase(0x0200);
EEPROM_write_n(0x0200,SurBufb,4);
IStep;}
void EEPROM_SectorErase(u16 EE_address)
{
IAP_CONTR = 0x80;
IAP_TPS = 22;
IAP_CMD = 3;
IAP_ADDRL = EE_address % 256;
EEPROM_Trig();
_nop_();
_nop_();
_nop_();
DisableEEPROM();
}
void EEPROM_write_n(u16 EE_address,u8 *DataAddress,u16 number)
{
IAP_CONTR = 0x80;
IAP_TPS = 22;
IAP_CMD = 2;
do
{
IAP_ADDRH = EE_address / 256;
IAP_ADDRL = EE_address % 256;
IAP_DATA = *DataAddress;
EEPROM_Trig();
_nop_();
_nop_();
_nop_();
EE_address++;
DataAddress++;
}while(--number);
DisableEEPROM();
}
以上数据无法写入EEPROM
|
|