I2CxBTO

I2CxBTO

I2C Bus Time-Out Register(1)

Notes:
  1. 1.It is recommended to write this register only when the module is Idle (MMA = 0 or SMA = 0), or when the module is clock stretching (CSTR = 1 or MDR = 1).
  2. 2.When TOBY32 is set (TOBY32 = 1) and the LFINTOSC, MFINTOSC, or SOSC is selected as the BTO clock source, the time-out time (TOTIME) will be approximately in milliseconds.
0x01F7 8         1 1 x

I2CxBTO

Bit  7 6 5 4 3 2 1 0  
  TOREC TOBY32 TOTIME[5:0]  
Access  R/W R/W R/W R/W R/W R/W R/W R/W  
Reset  0 0 0 0 0 0 0 0  

Bit 7 – TOREC: Time-Out Recovery Selection

Time-Out Recovery Selection

ValueDescription
1 A BTO event will reset the I2C module and set BTOIF
0 A BTO event will set BTOIF, but will not reset the I2C module

Bit 6 – TOBY32: Time-Out Prescaler Extension Enable(2)

Time-Out Prescaler Extension Enable(2)

ValueDescription
1 BTO time = TOTIME * TBTOCLK
0 BTO time = TOTIME * TBTOCLK * 32

Bits 5:0 – TOTIME[5:0]: Time-Out Time Selection

Time-Out Time Selection

ValueNameDescription
n TOBY32 = 1 Time-out is TOTIME periods of the prescaled BTO clock (TOTIME = n * TBTOCLK)
n TOBY32 = 0 Time-out is TOTIME periods of the prescaled BTO clock multiplied by 32 (TOTIME = n * TBTOCLK * 32)