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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/26/09 13:29
Read: times


 
#171195 - Incorrect reply
Responding to: ???'s previous message
Dear David and Murray,

I am presently getting a reply from the eeprom(or i think i am) but it is incorrect. I am writing a 0x11h and getting 0xFFh in reply. Another thing is that this write and read loop should be infinite but in my hardware i can write once and then read, after that the program stops. as David said i corrected the address. I made some additions to the program by sending A unique character after each command to my PC and the reply i get each time, just to check where does my program get stuck

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
FF//here should be 11 instead
11
13
...then nothing after that

cannot think of any particular reason for this !!
#include<I2C.h>
#include<generic.h>
#include<serial.h>
void serial_interrupt() interrupt 4
{
	if(TI)
		{
		TI = 0;
		}	
	if(RI)
		{
		RI = 0;
		}
}

void main()
{
char BYTE_GET = 0x00,DATA_ = 0x11;
initialize_serial();
SBUF = 0x11;
usec_wait(200);
SBUF = 0x12;
usec_wait(200);
while(1)
{
 /********WRITE TO ADDRESS********/
 i2c_transmit_start();
SBUF = 0x13;
usec_wait(200);

 i2c_transmit_byte(0xA0);
SBUF = 0x14;
usec_wait(200);

 i2c_transmit_byte(0x11);
SBUF = 0x15;
usec_wait(200);

 i2c_transmit_byte(0x11);
SBUF = 0x16;
usec_wait(200);

 i2c_transmit_byte(DATA_);
SBUF = 0x17;
usec_wait(200);

 i2c_transmit_stop();
SBUF = 0x18;
usec_wait(200);

msec_wait(200);//wait after write

 /********READ FROM ADDRESS*******/
 i2c_transmit_start();
SBUF = 0x19;
usec_wait(200);

 i2c_transmit_byte(0xA0);
SBUF = 0x20;
usec_wait(200);

 i2c_transmit_byte(0x11);
SBUF = 0x21;
usec_wait(200);

 i2c_transmit_byte(0x11);
SBUF = 0x22;
usec_wait(200);

 i2c_transmit_start();
SBUF = 0x23;
usec_wait(200);

 i2c_transmit_byte(0xA1);
SBUF = 0x24;
usec_wait(200);

 i2c_transmit_stop();
SBUF = 0x25;
usec_wait(200);

 BYTE_GET = i2c_receive_byte(I2C_NAK);
 sec_wait(1);

 SBUF = BYTE_GET;
 msec_wait(1);

 SBUF = DATA_;
 msec_wait(1);

 DATA_ ++;
}
}

 



List of 16 messages in thread
TopicAuthorDate
AT24C256            01/01/70 00:00      
   help            01/01/70 00:00      
   BitBang's Amost Always....            01/01/70 00:00      
   Why use void functions            01/01/70 00:00      
      thanks            01/01/70 00:00      
      Writing to specific address            01/01/70 00:00      
         Send sensible address values.            01/01/70 00:00      
   I2C_0.0.zip            01/01/70 00:00      
   no luck,            01/01/70 00:00      
      You have more pins to mis-wire.            01/01/70 00:00      
   i2c used, What should be the address            01/01/70 00:00      
      Read Murray's excellent Help Files            01/01/70 00:00      
   Incorrect reply            01/01/70 00:00      
      Please take some time to READ the Help            01/01/70 00:00      
   single byte read write working            01/01/70 00:00      
      I2C_0.1.zip released!            01/01/70 00:00      

Back to Subject List