Searching \ for 'I2C slave SSPAD' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/i2cs.htm?key=i2c
Search entire site for: 'I2C slave SSPAD'.

Truncated match.
PICList Thread
'I2C slave SSPAD'
1998\10\09@075742 by Ivan Cenov

flavicon
face
Hi,

I have I2C master code which works with I2C eeproms,
but i cannot speak to slave (addresses does not match).
What value must be put into SSPAD : 'address' or 'address << 1' ?

Ivan Cenov
spam_OUTokto7TakeThisOuTspambotev.ttm.bg, .....icenovKILLspamspam@spam@yahoo.com
www.geocities.com/SiliconValley/Network/9276/
Do what have to do, let happens what it wants.

1998\10\09@125121 by Bob Carter

flavicon
face
Hello Ivan and Gang,

I too have been fighting slave I2C. I am hearing through the grapevive
that Microchip is quietly admitting to a problem with the SSP for I2C
ussage on the mid range parts, but I am unsure about extent, details, and
fixes. Below is a copy of the problem I am now fighting.


***following is a cut and paste of an outgoing email***

I am finally getting closer on the Slave I2C problems. I had to abandon
the hardware approach and go software. The only problem I see occuring
now, are the SDA and SCL lines are not being released after the following
routines. Any ideas? (I think the problem is on the slave side).


MASTER (16C67 software only)       SLAVE (16C62A software on harware port)
---------------------------------------------------------------------------
----------------
#use i2c(master,sda=sda,scl=scl)   #use i2c(slave,sda=sda, scl=scl,
address=0x80, force_sw)
i2c_start();
i2c_write(0x80);         -->       address=i2c_read();
i2c_write(byte1);        -->       byte1=i2c_read();
i2c_write(byte2);        -->       byte2=i2c_read();
i2c_write(byte3);        -->       byte3=i2c_read();
i2c_write(byte4);        -->       byte4=i2c_read();

i2c_start();
i2c_write(0x81);         -->       address=i2c_read();
byteA=i2c_read();        <--       i2c_write(byteA);
byteB=i2c_read();        <--       i2c_write(byteB);
byteC=i2c_read();        <--       i2c_write(byteC);
byteD=i2c_read(0);       <--       i2c_write(byteD);
i2c_stop();                        (SDA and SCL stay low at this point)


- why are SDA and SCL staying low after pass through above code?

- do I have read(0)'s in the right places?

- since software only, do I really need to set the R/W bit?

- do I need to place delays somewhere?



Thank You,

Bob Carter, design engineer

Wildlife Materials, Inc.
1031 Autumn Ridge Road
Carbondale, IL 62901, USA

voice (618) 549-6330 (ext. 225)
fax   (618) 457-3340
email wolftechspamKILLspammidwest.net
www   http://www.wildlifematerials.com

1998\10\09@151311 by Ralph Landry

flavicon
face
part 0 186 bytes
-Ralph
.....rlandryKILLspamspam.....haywood.main.nc.us
"If they call it Tourist Season why can't we shoot 'em?"
ICQ# 19545315




Attachment converted: wonderland:24lc65.txt (TEXT/MSIE) (00019C70)

1998\10\10@222652 by Ivan Cenov

flavicon
face
I'm again,
I decided my problem,
SSPADD = slv_address << 1;

ivan cenov
tnx

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...