[][src]Struct nrf52840_hal::Twim

pub struct Twim<T>(_);

Interface to a TWIM instance

This is a very basic interface that comes with the following limitation: The TWIM instances share the same address space with instances of SPIM, SPIS, SPI, TWIS, and TWI. For example, TWIM0 conflicts with SPIM0, SPIS0, etc.; TWIM1 conflicts with SPIM1, SPIS1, etc. You need to make sure that conflicting instances are disabled before using Twim. Please refer to the product specification for more information (section 15.2 for nRF52832, section 6.1.2 for nRF52840).

Implementations

impl<T> Twim<T> where
    T: Instance
[src]

pub fn new(twim: T, pins: Pins, frequency: FREQUENCY_A) -> Twim<T>[src]

pub fn write(&mut self, address: u8, buffer: &[u8]) -> Result<(), Error>[src]

Write to an I2C slave

The buffer must have a length of at most 255 bytes on the nRF52832 and at most 65535 bytes on the nRF52840.

pub fn read(&mut self, address: u8, buffer: &mut [u8]) -> Result<(), Error>[src]

Read from an I2C slave

The buffer must have a length of at most 255 bytes on the nRF52832 and at most 65535 bytes on the nRF52840.

pub fn write_then_read(
    &mut self,
    address: u8,
    wr_buffer: &[u8],
    rd_buffer: &mut [u8]
) -> Result<(), Error>
[src]

Write data to an I2C slave, then read data from the slave without triggering a stop condition between the two

The buffers must have a length of at most 255 bytes on the nRF52832 and at most 65535 bytes on the nRF52840.

pub fn copy_write_then_read(
    &mut self,
    address: u8,
    tx_buffer: &[u8],
    rx_buffer: &mut [u8]
) -> Result<(), Error>
[src]

Copy data into RAM and write to an I2C slave, then read data from the slave without triggering a stop condition between the two

The read buffer must have a length of at most 255 bytes on the nRF52832 and at most 65535 bytes on the nRF52840.

pub fn free(self) -> T[src]

Return the raw interface to the underlying TWIM peripheral

Trait Implementations

impl<T> Read for Twim<T> where
    T: Instance
[src]

type Error = Error

Error type

impl<T> Write for Twim<T> where
    T: Instance
[src]

Implementation of embedded_hal::blocking::i2c Traits

type Error = Error

Error type

impl<T> WriteRead for Twim<T> where
    T: Instance
[src]

type Error = Error

Error type

Auto Trait Implementations

impl<T> Send for Twim<T> where
    T: Send

impl<T> Sync for Twim<T> where
    T: Sync

impl<T> Unpin for Twim<T> where
    T: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.