Struct stm32_hal2::i2c::I2cConfig

source ·
pub struct I2cConfig {
    pub mode: I2cMode,
    pub speed: I2cSpeed,
    pub address_bits: AddressBits,
    pub noise_filter: NoiseFilter,
    pub smbus: bool,
    pub nostretch: bool,
}
Expand description

Configuration data for the I2C peripheral.

Fields§

§mode: I2cMode

Select master or slave mode. Defaults to Master.

§speed: I2cSpeed

Select between one of 4 preset speeds. If you’d like to use custom speed settings, use the PAC directly, with I2C disabled, after the peripheral clocks are enabled by new(). Defaults to Standard mode, 100kHz.

§address_bits: AddressBits

Allows setting 7 or 10-bit addresses. Defaults to 7.

§noise_filter: NoiseFilter

Select the analog noise filter, a digital filter, or no filter. Deafults to analog.

§smbus: bool

Support for SMBUS, including hardware PEC, and alert pin. Defaults to false.

§nostretch: bool

Optionally disable clock stretching. Defaults to false (stretching allowed). Only relevant in slave mode.

Trait Implementations§

source§

impl Clone for I2cConfig

source§

fn clone(&self) -> I2cConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for I2cConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.