> Start > Repeated Start (that's start when there's already been a start, but > no stop) > Send > Stop > Set receive > Acknowledge a received byte > > I assume that these are implemented in software, not hardware, though > *I* think that a start an Ack should be automatic. They are implemented in hardware in the MSSP. You only set the appropriate bit and ACK or NACK is automatically sent. You want control over this in software because sometimes you want to NACK a byte instead of ACK it. > - From the datasheet, ... So just read the data sheet. At best you didn't introduce any errors. There is still no substitute for reading the data sheet. I strongly recommend to anyone using the MSSP module to read the entire IIC section, except that you can skip the multi-master stuff if you are not doing multi-master. Otherwise, read it thru entirely. Of course the tricky parts come from the stuff not mentioned in the data sheet. It covers the basic normal cases just fine, but these don't cause the trouble. This is why you need to read the whole IIC section very carefully. You need to try to understand the implementation so that you can make educated guesses about what happens when something out of the ordinary is being done. Even then you will have to do some experimenting. For example, what exactly happens when a slave is overrun on a write? Sure, an overflow bit gets set, but how exactly do you recover? What does this do to the slave state machine? What implications does this have to the higher level protocol that you have to design? This is just one example of what would be useful to include in additional documentation. I don't see any value in a document that just reads the data sheet to you. At best it doesn't introduce errors. IIC via the MSSP is not the kind of thing you want to distill down to "cookbook" level because there are subtle complexities that will bite you. Someone else posted a link to a Microchip PDF about IIC. At least it has added value because it introduces IIC concepts in small baby steps suitable for beginners. However, I flipped thru it quickly and quit after the first blatant error confounded by an outright wrong example. Argh!! ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body