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 299 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...
 
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 * dev
 i2c device More...
 
uint32_t rcu_mask
 bit in clock enable register
 
IRQn_Type irqn
 I2C event interrupt number. More...
 
I2C_Type * i2c
 Pointer to hardware module registers.
 
uint32_t freq
 I2C module clock frequency, usually CLOCK_BUSCLOCK or CLOCK_CORECLOCK.
 
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
 SDA PINSEL Mask

 
uint32_t pinsel_msk_scl
 SCL PINSEL Mask

 
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.
 
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/3]

I2C_TypeDef * i2c_conf_t::dev

Pointer to hardware module registers.

i2c device

hardware device

Definition at line 300 of file periph_cpu.h.

◆ dev [2/3]

I2C_TypeDef* i2c_conf_t::dev

USART device used.

i2c device

Definition at line 433 of file periph_cpu.h.

◆ dev [3/3]

I2C_Type* i2c_conf_t::dev

i2c device

hardware device

Definition at line 458 of file periph_cpu.h.

◆ irqn

IRQn_Type i2c_conf_t::irqn

I2C event interrupt number.

IRQ number for this module.

Definition at line 463 of file periph_cpu.h.

◆ scl

gpio_t i2c_conf_t::scl

GPIO used as SCL pin.

SCL pin.

Definition at line 470 of file periph_cpu.h.

◆ scl_pin

gpio_t i2c_conf_t::scl_pin

SCL GPIO pin.

used SCL pin

scl pin number

pin used for SCL

Definition at line 303 of file periph_cpu.h.

◆ sda

gpio_t i2c_conf_t::sda

GPIO used as SDA pin.

SDA pin.

Definition at line 471 of file periph_cpu.h.

◆ sda_pin

gpio_t i2c_conf_t::sda_pin

SDA GPIO pin.

used MOSI pin

sda pin number

pin used for SDA

Definition at line 302 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

Bus speed.

bus speed

I2C bus speed

i2c bus speed

I2C speed.

I2C bus speed.

baudrate used for the bus

Definition at line 304 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 441 of file periph_cpu.h.


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