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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/08/11 19:43
Read: times


 
#182543 - No, it isn't
Responding to: ???'s previous message
It relies upon a particular compiler - but you haven't stated what compiler.

#define I2C_DELAY 0x0F	                    // For delay i2c bus
What delay, exactly, is that supposed to produce?
It relies upon a certain clock frequency, and a certain number of clocks per instruction - neither of which you've stated.

void I2C_delay(void)
{
	unsigned char i;

	for(i=0; i<I2C_DELAY; i++);
}
The folly of HLL timing loops has already been explained - twice:
http://www.8052.com/forum/read/182476
http://www.8052.com/forum/read/182488

Note also that this loop is likely to be optimised-out


#define	    sda     P0_0                     // Serial data pin
#define	    scl     P0_1                     // Serial clock pin

#define	    set_sda     (P0_0=0x01)          // Set Serial data pin
#define	    set_scl     (P0_1=0x01)          // Set Serial clock pin

#define	    clr_sda     (P0_0=0x00)          // Clear Serial data pin
#define	    clr_scl     (P0_1=0x00)          // Clear Serial clock pin

It is conventional to use UPPERCASE for 'C' macros.

Why do your set/clear macros not use your sda and scl definitions?

set_scl;		// Set SCL 

With a name like set_scl, a comment, "Set SCL" adds no value.



#ifndef IC2_h
#define IC2_h
What is that for?


List of 13 messages in thread
TopicAuthorDate
Help me ? 89C52 interfacing with EEPROM 24C02            01/01/70 00:00      
   Do *not* use 'for' loops for delays!            01/01/70 00:00      
   100k is the upper limit            01/01/70 00:00      
      HLL delay loops - just don't do it!            01/01/70 00:00      
   that may be difficult            01/01/70 00:00      
      but there is a way            01/01/70 00:00      
   See if this code is of any help!            01/01/70 00:00      
      I doubt it very much            01/01/70 00:00      
      No, it isn't            01/01/70 00:00      
   doubts 1,2,3            01/01/70 00:00      
   code for 24c02 wih 89c52            01/01/70 00:00      
      Do *not* use 'for' loops for delays!            01/01/70 00:00      
      code?            01/01/70 00:00      

Back to Subject List