This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

XBYTE [] Addressing Problem

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.

Parents
  • So then, expanding the macros and adding one set of braces to aid visualization, we have:

    Write(unsigned char xdata* Addr, char element)
    {
        while(EECON = EECON & 0X01) {
            EA = 0;
        }
        EECON  = EECON | 0X02;
        *Addr = element;
        EECON = EECON & 0X00;
        EA = 1;
    }
    


    Is that what you intended?

Reply
  • So then, expanding the macros and adding one set of braces to aid visualization, we have:

    Write(unsigned char xdata* Addr, char element)
    {
        while(EECON = EECON & 0X01) {
            EA = 0;
        }
        EECON  = EECON | 0X02;
        *Addr = element;
        EECON = EECON & 0X00;
        EA = 1;
    }
    


    Is that what you intended?

Children