29.3.3.3 Smart Mode
The TWI interface has a Smart mode that simplifies the application code and minimizes the user interaction needed to adhere to the I2C protocol.
For the TWI host, the Smart mode will automatically send the ACK action as soon as the
Host Data (TWIn.MDATA) register is read. This feature is only active when the
Acknowledge Action (ACKACT) bit in the Host Control B (TWIn.MCTRLB) register is set to
ACK. If the ACKACT bit is set to NACK, the TWI host will not generate a NACK after the
MDATA register is read. This feature is enabled when the Smart Mode Enable (SMEN) bit in
the Host Control A (TWIn.MCTRLA) register is set to ‘1
’.
For the TWI client, the Smart mode will automatically send the ACK action as soon as the
Client Data (TWIn.SDATA) register is read. The Smart mode will automatically set the
Data Interrupt Flag (DIF) to ‘0
’ in the Client Status (TWIn.SSTATUS)
register if the TWIn.SDATA register is read or written. This feature is enabled when the
Smart Mode Enable (SMEN) bit in the Client Control A (TWIn.SCTRLA) register is set to
‘1
’.