# Write in embedded_hal::blocking::i2c - Rust
Blocking write
Keywords: rust, rustlang, rust-lang, Write

# Trait embedded_hal::blocking::i2c::Write

source · [−]

    pub trait Write {
        type Error;
        fn try_write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Self::Error>;
    }

Expand description

Blocking write

## Associated Types

source

#### type Error

Error type

## Required methods

source

#### fn try_write(&mut self, addr: u8, bytes: &[ u8 ]) -> Result<(), Self::Error>

Sends bytes to slave with address `addr`

##### I2C Events (contract)

    Master: ST SAD+W     B0     B1     ... BN     SP
    Slave:           SAK    SAK    SAK ...    SAK

Where

- `ST` = start condition
- `SAD+W` = slave address followed by bit 0 to indicate writing
- `SAK` = slave acknowledge
- `Bi` = ith byte of data
- `SP` = stop condition

## Implementors