36.5.12 I2CxBTO

I2C Bus Time-Out Register(1)

Note:
  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. 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.
Name: I2CxBTO
Address: 0x029C

Bit 76543210 
 TORECTOBY32TOTIME[5:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 7 – TOREC Time-Out Recovery Selection

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

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

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

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

ValueNameDescription
nTOBY32 = 1Time-out is TOTIME periods of the prescaled BTO clock (TOTIME = n * TBTOCLK)
nTOBY32 = 0Time-out is TOTIME periods of the prescaled BTO clock multiplied by 32 (TOTIME = n * TBTOCLK * 32)
It is recommended to write this register only when the module is Idle (MMAHost Mode Active Status = 0 or SMAClient Mode Active Status = 0), or when the module is clock stretching (CSTR Client Clock Stretching(3) = 1 or MDR Host Data Request (Host pause) = 1).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.