i2c_conf_t Struct Reference

I2C configuration structure. More...

Detailed Description

I2C configuration structure.

Structure for I2C configuration data.

I2C device configuration The frequency f() of the clock gclk_src must fulfill the condition.

I2C (TWI) configuration options.

I2C configuration structure type.

I2C device configuration.

I2C configuration options.

4 * speed ≤ f(gclk_src) ≤ 512 * speed

if speed ≤ 1 MHz and

12 * speed ≤ f(gclk_src) ≤ 520 * speed

if speed > 1 MHz

Definition at line 295 of file periph_cpu.h.

#include <periph_cpu.h>

Data Fields

TWI_t * dev
 Pointer to hardware module registers. More...
pwr_reduction_t pwr
 Power Management.
gpio_t sda_pin
 SDA GPIO pin. More...
gpio_t scl_pin
 SCL GPIO pin. More...
i2c_speed_t speed
 Configured bus speed, actual speed may be lower but never higher. More...
cpu_int_lvl_t int_lvl
 Serial Interrupt Level.
I2C_TypeDef * dev
 USART device used. More...
uint32_t loc
 location of I2C pins
CMU_Clock_TypeDef cmu
 the device CMU channel
IRQn_Type irq
 the devices base IRQ channel
uint32_t speed
 the bus speed More...
uint8_t module
 I2C module identifier.
gpio_t scl
 GPIO used as SCL pin. More...
gpio_t sda
 GPIO used as SDA pin. More...
bool scl_pullup
 Pullup enabled for SCL pin.
bool sda_pullup
 Pullup enabled for SDA pin.
uint32_t addr
 device base address
I2C_Type * i2c
 Pointer to hardware module registers.
uint32_t freq
 I2C module clock frequency, usually CLOCK_BUSCLOCK or CLOCK_CORECLOCK.
IRQn_Type irqn
 IRQ number for this module.
uint32_t scl_pcr
 PORT module PCR setting for the SCL pin.
uint32_t sda_pcr
 PORT module PCR setting for the SDA pin.
lpc23xx_i2c_t * dev
 pointer to the I2C device

uint8_t irq_prio
 priority of the I2C IRQ

uint8_t pinsel_sda
 PINSEL# of the SDA pin

uint8_t pinsel_scl
 PINSEL# of the SCL pin

uint32_t pinsel_msk_sda

uint32_t pinsel_msk_scl

NRF_TWI_Type * dev
 hardware device
gpio_t pin_scl
 SCL pin.
gpio_t pin_sda
 SDA pin.
uint8_t ppi
 PPI channel to use.
NRF_TWIM_Type * dev
 TWIM hardware device.
I2C_Type * dev
 hardware device
SercomI2cm * dev
 pointer to the used I2C device
gpio_mux_t mux
 alternate function (mux)
uint8_t gclk_src
 GCLK source which supplys SERCOM.
uint8_t flags
 allow SERCOM to run in standby mode
gpio_af_t scl_af
 scl pin alternate function value
gpio_af_t sda_af
 sda pin alternate function value
uint8_t bus
 APB bus.
uint32_t rcc_mask
 bit in clock enable register
uint8_t irqn
 I2C event interrupt number.

Field Documentation

◆ dev [1/2]

I2C_TypeDef * i2c_conf_t::dev

Pointer to hardware module registers.

i2c device

TWIM hardware device.

Definition at line 296 of file periph_cpu.h.

◆ dev [2/2]

I2C_TypeDef* i2c_conf_t::dev

USART device used.

i2c device

Definition at line 265 of file periph_cpu.h.

◆ scl

gpio_t i2c_conf_t::scl

GPIO used as SCL pin.

SCL pin.

Definition at line 420 of file periph_cpu.h.

◆ scl_pin

gpio_t i2c_conf_t::scl_pin


scl pin number

used SCL pin

pin used for SCL

Definition at line 299 of file periph_cpu.h.

◆ sda

gpio_t i2c_conf_t::sda

GPIO used as SDA pin.

SDA pin.

Definition at line 421 of file periph_cpu.h.

◆ sda_pin

gpio_t i2c_conf_t::sda_pin


sda pin number

used MOSI pin

pin used for SDA

Definition at line 298 of file periph_cpu.h.

◆ speed [1/2]

i2c_speed_t i2c_conf_t::speed

Configured bus speed, actual speed may be lower but never higher.

bus speed in bit/s

i2c bus speed

Bus speed.

bus speed

I2C bus speed

I2C speed.

I2C bus speed.

baudrate used for the bus

Definition at line 300 of file periph_cpu.h.

◆ speed [2/2]

uint32_t i2c_conf_t::speed

the bus speed

bus speed in bit/s

Definition at line 271 of file periph_cpu.h.

The documentation for this struct was generated from the following files: