I2C Config for Arduino, Cortex M3, Delfino, F280X, Linux Raspberry Pi, Piccolo, and STM32

 

Address Mode: In 7-bit address mode (normal address mode), indicates the I2C module transmits 7-bit slave addresses.

Bit Rate: Indicates the bit rate.

Clock Source: Chooses the hardware source for the system clock.

Data Bits: Indicates the number of bits (1 to 8) in the next data byte that is to be received or transmitted by the I2C module.

High Time: Indicates the I2C-clock high-time divide-down value. To produce the high-time duration of the master clock, the period of the module clock is multiplied by (I2C-clock + d), where d is 5, 6, or 7.

These bits must be set to a non-zero value for proper I2C clock operation.

Low Time: Indicates the I2C-clock low-time divide-down value. To produce the low-time duration of the master clock, the period of the module clock is multiplied by (I2C-clock + d). d is 5, 6, or 7.

These bits must be set to a non-zero value for proper I2C clock operation.

Own Address: Indicates the address of this unit on the I2C bus. This is important in slave mode: messages that do not match Own Address are discarded. This parameter is available only for devices that support it.

Port: Specifies the port. For ARM Linux targets, 1 is the default device available for use; 0 is reserved for VideoCore and HAT EEPROM; and 2 is available for use, but it is dedicated to HDMI interface and should not be used. For Arduino pin mapping, click here.

Prescale: Specifies the value to divide the low speed clock to determine the I2C clock. This parameter is available only for devices that support it.

Rx Queue Length: Specifies the length of the receive queue.

SCL Pin: Specifies the pin on the device for the I2C clock line.

SDA Pin: Specifies the pin on the device for the I2C data line.

Tx Queue Length: Specifies the length of the transmit queue.

Use Freeform Mode: Indicates that the transfer has no address field. This parameter is available only for devices that support it.