Instance

Trait Instance 

Source
pub trait Instance:
    Sealed
    + Deref<Target = RegisterBlock>
    + ClockControl
    + ResetControl
    + PeripheralClockSelector {
    type Sda;
    type Scl;
    type SlvChannel: Instance;
    type MstChannel: Instance;

    const INTERRUPT: Interrupt;
    const REGISTERS: *const RegisterBlock;
}
Expand description

Implemented for all I2C instances

Required Associated Constants§

Source

const INTERRUPT: Interrupt

The interrupt that is triggered for this I2C peripheral

Source

const REGISTERS: *const RegisterBlock

A pointer to this instance’s register block

Required Associated Types§

Source

type Sda

The movable function that needs to be assigned to this I2C’s SDA pin

Source

type Scl

The movable function that needs to be assigned to this I2C’s SCL pin

Source

type SlvChannel: Instance

The DMA channel used with this instance for slave mode

Source

type MstChannel: Instance

The DMA channel used with this instance for master mode

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Instance for I2C0

Source§

const INTERRUPT: Interrupt = Interrupt::I2C0

Source§

const REGISTERS: *const RegisterBlock = {0x40050000 as *const lpc845_pac::i2c0::RegisterBlock}

Source§

type Sda = I2C0_SDA

Source§

type Scl = I2C0_SCL

Source§

type SlvChannel = Channel14

Source§

type MstChannel = Channel15

Source§

impl Instance for I2C1

Source§

const INTERRUPT: Interrupt = Interrupt::I2C1

Source§

const REGISTERS: *const RegisterBlock = {0x40054000 as *const lpc845_pac::i2c0::RegisterBlock}

Source§

type Sda = I2C1_SDA

Source§

type Scl = I2C1_SCL

Source§

type SlvChannel = Channel16

Source§

type MstChannel = Channel17

Source§

impl Instance for I2C2

Source§

const INTERRUPT: Interrupt = Interrupt::I2C2

Source§

const REGISTERS: *const RegisterBlock = {0x40030000 as *const lpc845_pac::i2c0::RegisterBlock}

Source§

type Sda = I2C2_SDA

Source§

type Scl = I2C2_SCL

Source§

type SlvChannel = Channel18

Source§

type MstChannel = Channel19

Source§

impl Instance for I2C3

Source§

const INTERRUPT: Interrupt = Interrupt::I2C3

Source§

const REGISTERS: *const RegisterBlock = {0x40034000 as *const lpc845_pac::i2c0::RegisterBlock}

Source§

type Sda = I2C3_SDA

Source§

type Scl = I2C3_SCL

Source§

type SlvChannel = Channel20

Source§

type MstChannel = Channel21

Implementors§