877 I2C slave - does it work using the MSSP ?
Bob Blick email (remove spam text)
On 16 Mar 2002 at 9:00, Olin Lathrop wrote:
> > Actually you don't manually ACK, you set CKP and it ACKs for you.
> You've really confused things. On a write (master to slave), the MSSP in
> slave mode will automatically send the ACK bit. CKP is only used on a read
> by a slave, and it has nothing to do with ACK. On a read in master mode the
> ACK must be explicitly sent, but that is done with the ACKEN bit (if I
> remember right, I'm home now and don't have a manual in front of me).
Sorry to confuse you!
If the user program in the slave doesn't set CKP it will not release
the clock. I didn't have the data sheet in front of me at the time, but
the key point I was trying to make is that there is a document about
the 877 I2C hardware in slave mode, and the code sample is useful
but neglects to set CKP.
Olin, please get DS00734A and look at the slave code sample. It is
broken. It does not set CKP, so it only works for the first transfer.
Then the bus is frozen.
Just reading the 877(30292) data sheet it's very difficult to get the
I2C slave working, mostly I was trying to let the reader know there
was an up-to-date document, with Microchip's usual errors in it. I
just added my own error. Perhaps that way I'll become as rich and
popular as Microchip!
Thanks for pointing out my little error.
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email mitvma.mit.edu with SET PICList DIGEST in the body listserv
In reply to: <000a01c1cd0c$3ee87d50$0200a8c0@dad>
See also: www.piclist.com/techref/i2cs.htm?key=i2c
You must be a member of the
piclist mailing list
(not only a www.piclist.com member) to post to the