[−][src]Struct nrf52832_hal::spim::Spim
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]
T: SpimExt,
pub fn new(
spim: T,
pins: Pins,
frequency: FREQUENCYW,
mode: Mode,
orc: u8
) -> Spim<T>
[src]
spim: T,
pins: Pins,
frequency: FREQUENCYW,
mode: Mode,
orc: u8
) -> Spim<T>
pub fn read(
&mut self,
chip_select: &mut Pin<Output<PushPull>>,
tx_buffer: &[u8],
rx_buffer: &mut [u8]
) -> Result<(), Error>
[src]
&mut self,
chip_select: &mut Pin<Output<PushPull>>,
tx_buffer: &[u8],
rx_buffer: &mut [u8]
) -> Result<(), Error>
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]
&mut self,
chip_select: &mut Pin<Output<PushPull>>,
tx_buffer: &[u8]
) -> Result<(), Error>
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]
T: SpimExt,
impl<T> Transfer<u8> for Spim<T> where
T: SpimExt,
[src]
T: SpimExt,
Auto Trait Implementations
Blanket Implementations
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> From for T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<W, S> Transfer for S where
S: Default<W>,
W: Clone,
[src]
S: Default<W>,
W: Clone,
type Error = <S as FullDuplex<W>>::Error
Error type
fn transfer(
&mut self,
words: &'w mut [W]
) -> Result<&'w [W], <S as FullDuplex<W>>::Error>
[src]
&mut self,
words: &'w mut [W]
) -> Result<&'w [W], <S as FullDuplex<W>>::Error>
impl<W, S> Write for S where
S: Default<W>,
W: Clone,
[src]
S: Default<W>,
W: Clone,
type Error = <S as FullDuplex<W>>::Error
Error type
fn write(&mut self, words: &[W]) -> Result<(), <S as FullDuplex<W>>::Error>
[src]
impl<T> Same for T
type Output = T
Should always be Self