Struct nrf52810_hal::Twim[][src]

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 disable(&mut self)[src]

Disable the instance.

Disabling the instance will switch off the peripheral leading to a considerably lower energy use. However, while the instance is disabled it is not possible to use it for communication. The configuration of the instance will be retained.

pub fn enable(&mut self)[src]

Re-enable the instance after it was previously disabled.

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,
    wr_buffer: &[u8],
    rd_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 write buffer must have a length of at most 255 bytes on the nRF52832 and at most 1024 bytes on the nRF52840.

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]

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<Src, Dst> LosslessTryInto<Dst> for Src where
    Dst: LosslessTryFrom<Src>, 
[src]

impl<Src, Dst> LossyInto<Dst> for Src where
    Dst: LossyFrom<Src>, 
[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.