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

How to set

About that 24LC16B, I have contacted with MicroChip technical staff.

my code:

for(;;) {
START_MEMO();
SHIFT_MEMO( 0xa0 );
SCL_MEMO = 0;
MEMO_WAIT;
SDA_MEMO = 1;
SCL_MEMO = 1;
MEMO_WAIT;
if ( (~SDA_MEMO) ){
SCL_MEMO = 0;
STOP_MEMO();
break;
}
}
return(1);
}

their answer is the following :"

Eric,
Something that concerns me with your code is the fact that you are driving the clock and data lines with the master. Instead, you should set the clock and data output registers to 0, then drive the tristate (TRIS) registers. In this way, your master will drive the bus to ground, and pull-up resistors will pull the clock and data line high. This also allows the slave to respond with an appropriate acknowledge bit. If the bus is being driven high by the master, then the slave may not be able to over-drive the master to ground. Give this a shot, and if you have more questions, please feel free to post them. By the way, a good starting point for pull-up resistors is around 2.7k-ohms. "

But I really do not know how to realize their way in 8051.

Please let me know?

Best Regards.

0