We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
HI,
How to specify a address while writing to EEPROM in 89c51ED2.
It is writing to EEPROM when I give the following code after setting the flags of EECON register.
XBYTE[0x0050] = '1';
But if I declare a variable with following type and assign a value to it, it is not writing to EEPROM
unsigned char xdata *addr; *addr = '1';
//after setting all the flags i write this code for assigning;
*addr = '2';
But this is not writing to EEPROM.
Kindly provide the solution for this.
"Can I use Global variable and use after setting EEE register"
Note that EEE is a bit - not a register.
Your problem is accessing XDATA - see the description of the EEE bit in the datasheet. It makes no difference whether the variabe is global or "automatic" - the problem is with accessing XDATA.
So, as long as you don't attempt to access anything in XDATA while EEE is set, you should be OK...