Jump to main content
29.6.6.4 Typical Transmit 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 MSSP module will wait the required start time before any
other operation takes place.
- The user loads SSPxBUF with the client address to transmit.
- 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 loads the SSPxBUF with eight bits of data.
- Data is shifted out the SDA pin until all eight bits are
transmitted.
- The MSSP module shifts in the ACK bit from the client device and writes its value into the ACKSTAT
bit.
- Steps 8-11 are repeated for all transmitted data bytes.
- The user generates a Stop or Restart condition by setting the
PEN or RSEN bits. Interrupt is generated once the Stop/Restart
condition is complete.