Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Thread Closed: Issue successfully resolved

???
06/04/04 07:37
Read: times


 
#71711 - RE: Serial EEPROM problem
Responding to: ???'s previous message
It seems odd that the following statement is the same in both read and write functions:
i2c_SendAddress(ROM, 0);

Why odd? , you need to write address in both cases.
In writeAt(), i2c_Stop() presumably initiates the self-timed write (5ms or thereabouts?).
thats right.
Without seeing the bigger picture, I'd ask whether you could be trying to read before the write has finished.
I thought about that so I waited for 10msec, even 100msec but still unable to write.

How soon are you turning back around to read? Are you using a simple write completion timeout or are you write-busy polling elsewhere to pace EEPROM operations after the write?
good suggestions but for now I only write one test byte and read it to verify.
I even implemented this pageWrite test routine and read the eeprom through external programmer and still no write!
/******************************************************************************
* NAME:        writePage                                                      *
* DESCRIPTION: This function writes a page to a specified address             *
******************************************************************************/
void writePage()
{
    unsigned char xx;
    i2c_Start();                // start condition
    i2c_SendAddress(ROM, 0);    // 0 = write, 1 = read, ROM is 0xA0 
    i2c_ReadAcknowledge();      // wait for acknowledge from EEPROM
    i2c_SendByte(0);            // send upper address byte
    i2c_ReadAcknowledge();      // wait for acknowledge from EEPROM
    i2c_SendByte(0);            // send lower address byte
    i2c_ReadAcknowledge();      // wait for acknowledge from EEPROM
    for(xx = 0; xx < 64; xx++)  // write test page to read by external programmer
    {
        i2c_SendByte(xx);       // write the data to EEPROM
        i2c_ReadAcknowledge();  // wait for acknowledge from eeprom
    }
    i2c_Stop();                 // stop initiating the self-timed write
    


List of 18 messages in thread
TopicAuthorDate
Serial EEPROM problem            01/01/70 00:00      
   RE: Serial EEPROM problem            01/01/70 00:00      
      RE: Serial EEPROM problem            01/01/70 00:00      
         RE: Serial EEPROM problem            01/01/70 00:00      
   RE: Serial EEPROM problem            01/01/70 00:00      
      RE: Serial EEPROM problem            01/01/70 00:00      
         RE: Serial EEPROM problem            01/01/70 00:00      
         RE: Serial EEPROM problem            01/01/70 00:00      
   RE: Serial EEPROM problem            01/01/70 00:00      
      RE: Serial EEPROM problem            01/01/70 00:00      
   RE: Serial EEPROM problem            01/01/70 00:00      
      RE: Serial EEPROM problem            01/01/70 00:00      
         RE: Serial EEPROM problem            01/01/70 00:00      
   RE: Serial EEPROM problem            01/01/70 00:00      
   RE: Serial EEPROM problem            01/01/70 00:00      
      RE: Serial EEPROM problem            01/01/70 00:00      
         RE: Serial EEPROM problem            01/01/70 00:00      
   Problem Solved!!!!!            01/01/70 00:00      

Back to Subject List