27.7 Transmission Modes

The TWI can operate in one of four major modes:
  • Master Transmitter (MT)
  • Master Receiver (MR)
  • Slave Transmitter (ST)
  • Slave Receiver (SR)
Several of these modes can be used in the same application. As an example, the TWI can use MT mode to write data into a TWI EEPROM, MR mode to read the data back from the EEPROM. If other masters are present in the system, some of these might transmit data to the TWI, and then SR mode would be used. It is the application software that decides which modes are legal.

The following sections describe each of these modes. Possible status codes are described along with figures detailing data transmission in each of the modes. These figures use the following abbreviations:

SSTART condition
RsREPEATED START condition
RRead bit (high level at SDA)
WWrite bit (low level at SDA)
AAcknowledge bit (low level at SDA)
ANot acknowledge bit (high level at SDA)
Data8-bit data byte
PSTOP condition
SLASlave Address

Circles are used to indicate that the TWINT Flag is set. The numbers in the circles show the status code held in TWSRn, with the prescaler bits masked to zero. At these points, actions must be taken by the application to continue or complete the TWI transfer. The TWI transfer is suspended until the TWINT Flag is cleared by software.

When the TWINT Flag is set, the status code in TWSRn is used to determine the appropriate software action. For each status code, the required software action and details of the following serial transfer are given below in the Status Code table for each mode. Note that the prescaler bits are masked to zero in these tables.