📄 eeprom.c
字号:
//pragma ot(4)
#define EE_GLOBALS
#include "Macro.h"
#include "Main.h"
void ReadEE(unsigned char xdata *Buff, unsigned int len)
{
unsigned int data i;
unsigned int data mAddr;
unsigned char data cTmp;
mAddr = 0;
for (i = 0; i < len; i++) {
EA = 0;
WMCON |= EEMEN_; // enable EEPROM
cTmp = XBYTE[mAddr++]; // read value
WMCON &= ~EEMEN_; // disable EEPROM
EA = 1;
*(Buff++) = cTmp; // save value
}
}
unsigned char WriteEE(unsigned char xdata *Source, unsigned int len)
{
unsigned int data mAddr;
unsigned int data iTmp;
unsigned char data cTmp;
unsigned char xdata * cPtr;
unsigned char xdata mBuff[sizeof(Port1Cmd) + sizeof(Port1Cmd) + 20];
cPtr = Source;
mAddr = 0;
for (iTmp = 0; iTmp < len; iTmp++) {
cTmp = *(cPtr++);
EA = 0;
WMCON |= (EEMEN_ | EEMWE_); // enable EEPROM and set write bit
XBYTE[mAddr++] = cTmp; // write value
while ((WMCON & EERDY_) == 0); // wait until value programmed
WMCON &= ~(EEMWE_ | EEMEN_); // disable EEPROM and write strobe
EA = 1;
}
ReadEE( mBuff, len );
if ( memcmp(mBuff, Source, len) == 0 ) return 1;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -