Struct stm32f4xx_hal::i2c::I2c
source · pub struct I2c<I2C: Instance> { /* private fields */ }
Expand description
I2C abstraction
Implementations§
source§impl<I2C: Instance> I2c<I2C>
impl<I2C: Instance> I2c<I2C>
sourcepub fn use_dma<TX_STREAM, const TX_CH: u8, RX_STREAM, const RX_CH: u8>(
self,
tx_stream: TX_STREAM,
rx_stream: RX_STREAM
) -> I2CMasterDma<I2C, TxDMA<I2C, TX_STREAM, TX_CH>, RxDMA<I2C, RX_STREAM, RX_CH>>
pub fn use_dma<TX_STREAM, const TX_CH: u8, RX_STREAM, const RX_CH: u8>( self, tx_stream: TX_STREAM, rx_stream: RX_STREAM ) -> I2CMasterDma<I2C, TxDMA<I2C, TX_STREAM, TX_CH>, RxDMA<I2C, RX_STREAM, RX_CH>>
Converts blocking I2c to non-blocking I2CMasterDma that use tx_stream
and rx_stream
to send/receive data
sourcepub fn use_dma_tx<TX_STREAM, const TX_CH: u8>(
self,
tx_stream: TX_STREAM
) -> I2CMasterDma<I2C, TxDMA<I2C, TX_STREAM, TX_CH>, NoDMA>
pub fn use_dma_tx<TX_STREAM, const TX_CH: u8>( self, tx_stream: TX_STREAM ) -> I2CMasterDma<I2C, TxDMA<I2C, TX_STREAM, TX_CH>, NoDMA>
Converts blocking I2c to non-blocking I2CMasterDma that use tx_stream
to only send data
sourcepub fn use_dma_rx<RX_STREAM, const RX_CH: u8>(
self,
rx_stream: RX_STREAM
) -> I2CMasterDma<I2C, NoDMA, RxDMA<I2C, RX_STREAM, RX_CH>>
pub fn use_dma_rx<RX_STREAM, const RX_CH: u8>( self, rx_stream: RX_STREAM ) -> I2CMasterDma<I2C, NoDMA, RxDMA<I2C, RX_STREAM, RX_CH>>
Converts blocking I2c to non-blocking I2CMasterDma that use rx_stream
to only receive data
source§impl<I2C: Instance> I2c<I2C>
impl<I2C: Instance> I2c<I2C>
pub fn read(&mut self, addr: u8, buffer: &mut [u8]) -> Result<(), Error>
pub fn write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Error>
pub fn write_iter<B>(&mut self, addr: u8, bytes: B) -> Result<(), Error>where
B: IntoIterator<Item = u8>,
pub fn write_read( &mut self, addr: u8, bytes: &[u8], buffer: &mut [u8] ) -> Result<(), Error>
pub fn write_iter_read<B>(
&mut self,
addr: u8,
bytes: B,
buffer: &mut [u8]
) -> Result<(), Error>where
B: IntoIterator<Item = u8>,
pub fn transaction<'a>( &mut self, addr: u8, ops: impl Iterator<Item = Operation<'a>> ) -> Result<(), Error>
pub fn transaction_slice( &mut self, addr: u8, ops_slice: &mut [Operation<'_>] ) -> Result<(), Error>
Trait Implementations§
source§impl<I2C: Instance> I2c for I2c<I2C>
impl<I2C: Instance> I2c for I2c<I2C>
source§fn write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Self::Error>
fn write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Self::Error>
Writes bytes to slave with address
address
. Read moresource§impl<I2C> Transactional for I2c<I2C>where
I2C: Instance,
impl<I2C> Transactional for I2c<I2C>where
I2C: Instance,
source§impl<I2C> WriteIterRead for I2c<I2C>where
I2C: Instance,
impl<I2C> WriteIterRead for I2c<I2C>where
I2C: Instance,
Auto Trait Implementations§
impl<I2C> RefUnwindSafe for I2c<I2C>where
I2C: RefUnwindSafe,
<I2C as I2cCommon>::Scl: RefUnwindSafe,
<I2C as I2cCommon>::Sda: RefUnwindSafe,
impl<I2C> Send for I2c<I2C>
impl<I2C> Sync for I2c<I2C>
impl<I2C> Unpin for I2c<I2C>
impl<I2C> UnwindSafe for I2c<I2C>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more