[][src]Struct nrf52840_hal::Spim

pub struct Spim<T>(_);

Interface to a SPIM instance

This is a very basic interface that comes with the following limitations:

  • The SPIM instances share the same address space with instances of SPIS, SPI, TWIM, TWIS, and TWI. You need to make sure that conflicting instances are disabled before using Spim. See product specification, section 15.2.
  • The SPI mode is hardcoded to SPI mode 0.
  • The frequency is hardcoded to 500 kHz.
  • The over-read character is hardcoded to 0.

Methods

impl<T> Spim<T> where
    T: SpimExt
[src]

pub fn new(
    spim: T,
    pins: Pins,
    frequency: FREQUENCYW,
    mode: Mode,
    orc: u8
) -> Spim<T>
[src]

pub fn read(
    &mut self,
    chip_select: &mut Pin<Output<PushPull>>,
    tx_buffer: &[u8],
    rx_buffer: &mut [u8]
) -> Result<(), Error>
[src]

Read from an SPI slave

This method implements a complete read transaction, which consists of the master transmitting what it wishes to read, and the slave responding with the requested data.

Uses the provided chip select pin to initiate the transaction. Transmits all bytes in tx_buffer, then receives bytes until rx_buffer is full. Both buffer must have a length of at most 255 bytes.

pub fn write(
    &mut self,
    chip_select: &mut Pin<Output<PushPull>>,
    tx_buffer: &[u8]
) -> Result<(), Error>
[src]

Write to an SPI slave

This method uses the provided chip select pin to initiate the transaction, then transmits all bytes in tx_buffer.

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

Return the raw interface to the underlying SPIM peripheral

Trait Implementations

impl<T> Write<u8> for Spim<T> where
    T: SpimExt
[src]

type Error = Error

Error type

impl<T> Transfer<u8> for Spim<T> where
    T: SpimExt
[src]

type Error = Error

Error type

Auto Trait Implementations

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

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

Blanket Implementations

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

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> From for T[src]

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

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

The type returned in the event of a conversion error.

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

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

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

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

impl<W, S> Transfer for S where
    S: Default<W>,
    W: Clone
[src]

type Error = <S as FullDuplex<W>>::Error

Error type

impl<W, S> Write for S where
    S: Default<W>,
    W: Clone
[src]

type Error = <S as FullDuplex<W>>::Error

Error type

impl<T> Same for T

type Output = T

Should always be Self