GPS Device
Loading...
Searching...
No Matches

Configuration enumerations and structures for the I2C driver. More...

Collaboration diagram for I2C Types:

Classes

struct  I2C_CFG_ts
 Configuration structure for initializing an I2C peripheral. More...

Enumerations

enum  I2C_CLOCK_STRECH_te { I2C_CLOCK_STRETCH_ON , I2C_CLOCK_STRETCH_OFF }
 I2C slave clock stretching enable/disable. More...
enum  I2C_ACK_te { I2C_ACK_OFF , I2C_ACK_ON }
 I2C acknowledge control. More...
enum  I2C_SPEED_te { I2C_SPEED_100kHz = 100000 , I2C_SPEED_400kHz = 400000 }
 I2C bus speed (SCL frequency). More...

Detailed Description

Configuration enumerations and structures for the I2C driver.

Enumeration Type Documentation

◆ I2C_CLOCK_STRECH_te

I2C slave clock stretching enable/disable.

When enabled, the slave may hold SCL low to pause the master and buy time to prepare data. When disabled, clock stretching is not permitted.

Enumerator
I2C_CLOCK_STRETCH_ON 

Allow slave clock stretching (NOSTRETCH = 0).

I2C_CLOCK_STRETCH_OFF 

Disable slave clock stretching (NOSTRETCH = 1).

Definition at line 61 of file stm32f401re_i2c.h.

61 {
I2C_CLOCK_STRECH_te
I2C slave clock stretching enable/disable.
@ I2C_CLOCK_STRETCH_ON
@ I2C_CLOCK_STRETCH_OFF

◆ I2C_ACK_te

enum I2C_ACK_te

I2C acknowledge control.

Enumerator
I2C_ACK_OFF 

Disable ACK generation after each received byte.

I2C_ACK_ON 

Enable ACK generation after each received byte.

Definition at line 69 of file stm32f401re_i2c.h.

69 {
I2C_ACK_te
I2C acknowledge control.
@ I2C_ACK_OFF
@ I2C_ACK_ON

◆ I2C_SPEED_te

I2C bus speed (SCL frequency).

The CCR and TRISE registers are computed automatically from the APB1 peripheral clock during i2c_init based on the selected speed.

Enumerator
I2C_SPEED_100kHz 

Standard mode: 100 kHz, 50% duty cycle.

I2C_SPEED_400kHz 

Fast mode: 400 kHz, 9/16 duty cycle (DUTY = 1).

Definition at line 81 of file stm32f401re_i2c.h.

81 {
82 I2C_SPEED_100kHz = 100000,
83 I2C_SPEED_400kHz = 400000
I2C_SPEED_te
I2C bus speed (SCL frequency).
@ I2C_SPEED_100kHz
@ I2C_SPEED_400kHz