I2C CLKDIV addressOffset = 0x014

The CLKDIV register divides down the Peripheral Clock (PCLK) to produce the I^ 2C function clock that is used to time various aspects of the I^ 2C interface. The I^ 2C function clock is used for some internal operations in the I^ 2C block and to generate the timing required by the I^ 2C bus specification, some of which are user configured in the MSTTIME register for Master operation and the SLVTIME register for Slave operation.

See Rate calculations for details on bus rate setup.

Table 1. I2C registerName = CLKDIV addressOffset = 0x014
Bit Symbol Description Reset value
15:0 DIVVAL This field controls how the clock (PCLK) is used by the I ^ 2C functions that need an internal clock in order to operate.

0x0000 = PCLK is used directly by the I^ 2C function.

0x0001 = PCLK is divided by 2 before use by the I^ 2C function.

0x0002 = PCLK is divided by 3 before use by the I^ 2C function.


0xFFFF = PCLK is divided by 65,536 before use by the I^ 2C function.

31:16 - Reserved. Read value is undefined, only zero should be written. NA