29.2.3.6.1 7-Bit Addressing Reception
This section describes a standard sequence of events for the MSSP module configured as an I2C client in 7-bit Addressing mode. Figure 29-15 and Figure 29-16 are used as a visual reference for this description.
This is a step by step process of what typically must be done to accomplish I2C communication.
- Start condition detected.
- The Start (S) bit is set; SSPxIF is set if the Start Condition Interrupt Enable (SCIE) bit is set.
- Matching address with R/W bit clear is received.
- The client pulls SDA low, sending an ACK to the host, and sets SSPxIF bit.
- Software clears the SSPxIF bit.
- Software reads received address from SSPxBUF, clearing the BF flag.
- If SEN
=
1
; Client software sets the CKP bit to release the SCL line. - The host clocks out a data byte.
- Client drives SDA low, sending an ACK to the host, and sets SSPxIF bit.
- Software clears SSPxIF.
- Software reads the received byte from SSPxBUF, clearing BF.
- Steps 8-12 are repeated for all received bytes from the host.
- Host sends Stop condition, setting the Stop (P) bit, and the bus goes Idle.