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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/28/07 13:58
Read: times


 
#139916 - I2C eeprom 24c02 byte write stuck in ack
Hello,

I'm new to the list and actually developping I2C bus driver routines on a MSC1210Y5/22MHz board with SDCC 2.7.0svn.

I have read messages from this thread which descirbes exactly my concern:
http://www.8052.com/forum/read.phtml?id=136747
... but didn't find the clue to solve my problem.

You can find a copy of my own code at the following address:
http://www.linux-france.org/prj/embed...eeprom.zip
. i2c routines are in the i2c_msc1210.h file
. sample program is called sdcc_i2c_eeprom.c
(I tried to write all comments in english)

Before to post I have spent hours running tests and reading application notes, especially the 24c02c microchip pdf.
I found the "Acknowledge polling flow" section but I don't understand how to apply it as long as I don't get any ack from the chip before to send stop condition to initiate the write cycle.

On the timing side, I'm using a while software delay loop that consumes a lot of time. I'm not looking to stress communications to the 100KHz limit.

Thanks in advance for your help.

Regards,

- Philippe


List of 21 messages in thread
TopicAuthorDate
I2C eeprom 24c02 byte write stuck in ack            01/01/70 00:00      
   timing            01/01/70 00:00      
      timing            01/01/70 00:00      
         what\'s the problem, exactly?            01/01/70 00:00      
            timing            01/01/70 00:00      
               how do you know that?            01/01/70 00:00      
                  How do you know that?            01/01/70 00:00      
                     do you have some other version of code?            01/01/70 00:00      
                        do you have some other version of code?            01/01/70 00:00      
               A work around For That            01/01/70 00:00      
                  work around For That            01/01/70 00:00      
   Well in my guess, you have same problem:-) as mine            01/01/70 00:00      
      Polling the 24C02 EEPROM for ready            01/01/70 00:00      
         OOPS wrong logic            01/01/70 00:00      
            I thought that I should try your code            01/01/70 00:00      
               Polling the 24C02 EEPROM for ready            01/01/70 00:00      
                  great, but do not forget to mention            01/01/70 00:00      
                     The Clock            01/01/70 00:00      
                     addition - show the full picture - 'edit' to above            01/01/70 00:00      
                  i2c function signatures            01/01/70 00:00      
   hello friend            01/01/70 00:00      

Back to Subject List