Jump to main content
29.6.7.4 Typical Receive Sequence:
- The user generates a Start condition by setting the SEN bit.
- SSPxIF is set by hardware on completion of the Start.
- SSPxIF is cleared by software.
- The user writes SSPxBUF with the client address to transmit and
the R/W
bit set.
- Address is shifted out the SDA pin until all eight bits are transmitted. Transmission begins as soon as SSPxBUF is written to.
- The MSSP module shifts in the ACK bit from the client device and writes its value into the ACKSTAT
bit.
- The MSSP module generates an interrupt at the end of the ninth clock cycle by setting the SSPxIF bit.
- The user sets the RCEN bit and
the host clocks in a byte from the client.
- After the eighth falling edge of SCL, SSPxIF and BF are set.
- The host clears SSPxIF and reads the received byte from SSPUF
which clears BF.
- The host sets the ACK value to be sent to client in the ACKDT bit and
initiates the ACK by setting the ACKEN
bit.
- Host’s ACK is
clocked out to the client and SSPxIF is set.
- The user clears SSPxIF.
- Steps 8-13 are repeated for each received byte from the
client.
- The host sends a not ACK or Stop to end communication.